Ingres - データのインポート/エクスポート
- これらのコマンドを利用する
- copydb
- unloaddb
- ノート
Ingresでは、あるIngresインストールから別のインストールにデータをエクスポートできます(これはプラットフォームに依存しない手順です)。
unloaddb
copydb
これら2つのコマンドの主な違いは、それらを定義するパラメータにあります。
unloaddbはすべての基本オブジェクト(フロントエンドタイプABF、OpenROAD、またはReport Writer、Replicatorカタログ用のツールのソースを含む)を再グループ化します。
copydbは、呼び出すオブジェクトを再グループ化します。
これらのコマンドを利用する
copydb
例
copydb mydatabase mytable
このコマンドは、テーブルmyTableとmydatabaseが存在する限り、copy.inとcopy.outの2つのファイルを生成します。
これらのファイルには一連のSQLコマンドが含まれています。
コピーアウト:
データのアンロード中:COPY TABLE ... INTO ...
copy.in:
テーブルの作成:CREATE TABLE ...
テーブルの構造:MODIFY ...
データの再読み込み:COPY TABLE ... FROM ...
インデックスの作成:CREATE INDEX ...
これらのファイルを使う:
データを取得するには
sql mydatabase <copy.out
データをリロードするには:
sql mydatabase <copy.in
unloaddb
例
unloaddb mydatabase
4つのファイルが生成されます:copy.in、copy.out、reload.ingおよびunload.ing(またはWindowsではreload.batおよびunload.bat)。
copydbコマンドと同様に、copy.inおよびcopy.outファイルには、データのアンロード、オブジェクトの作成(テーブル、インデックス、ルール、プロシージャ、ビュー)、およびデータの再ロードに必要なSQLコマンドが含まれています。 主な違いは、SQLコードを含むこれらのファイルを呼び出すプログラムを生成できるunloaddbです。
ノート
あるOSから別のOSに移植可能なコピーを作成するには、ASCII形式でエクスポート/インポートデータを生成できる-cオプション(これら2つのコマンドのそれぞれに使用可能)を使用します。
以下の変数は網羅的なものではありません。
II_DATE_FORMAT :日付フォーマット
II_DECIMAL :小数点記号
II_MONEY_PREC :精密マネーデータ型
II_MONEY_FORMAT :通貨データフォーマットタイプ(通貨)
II_NULL_STRING :ナル値を表すための文字列
これらの変数は、ソースマシンとターゲットマシンの間で同一でなければなりません。
同じ場所、同じ番号、名前、および型を宣言します。 ディレクトリは異なる場合があります。
ターゲットデータベースをソースデータベースと同じ場所に拡張します。infodbコマンドを使用して、データベースで両方の場所を確認し、accessdbまたはextenddbを使用してベースを拡張します。
ファイルの結果(stdout)をキャプチャして、E_で始まる行を探します。 これは、Ingresが分析する必要があるエラーを示しています。
reloadまたはcopy.inが失敗した場合は、作成しようとしているオブジェクトがすでに存在していることが原因である可能性があります。