10

1 つの IBM DB2 UDB サーバーの特定のスキーマの内容を SQL テキスト ファイルにダンプしようとしています (mysql の mysqldump 機能によく似ています)。

db2look に出くわしましたが、スキーマの構造のみをダンプします (ddl のみ、dml はありません)。

では、どうすれば自分のことを成し遂げることができますか?

ジュニア。

4

5 に答える 5

10

探しているのはdb2moveコマンドです。特定のスキーマでは、「sn」スイッチを使用する必要があります。

たとえば、データをエクスポートするには:

db2move [your_db_name] EXPORT -sn [your_schema_name]

実行したい内容に応じて、db2move で使用できる多くのオプションとスイッチがあります。

db2move が必要なものではない場合は、DB2 で使用可能なデータ移動オプションの表を確認できます。

于 2009-05-29T15:41:18.393 に答える
5

これを実現するには、Java で実装された SQL クライアントであるSQquirreLを使用できます。その「オブジェクト」ツリーで、必要なすべてのテーブルを選択し、コンテキスト メニューから「スクリプト > データ スクリプトの作成」を選択します。

于 2009-05-29T12:25:35.743 に答える
2

目的がデータを別の DB2 データベースに転送することである場合はEXPORT、 および関連するIMPORTまたはコマンドを使用できます。LOAD

実際、メタデータに基づいてステートメントを生成できます。SYSCAT.TABLES

書き出す

   SELECT 'EXPORT TO /usr/data/SCHEMA/' || TABNAME || '.ixf OF IXF LOBS TO /usr/data/SCHEMA/lbos/ MODIFIED BY LOBSINFILE SELECT * FROM SCHEMA.' || TABNAME || ';'
     FROM SYSCAT.TABLES
    WHERE TABSCHEMA = 'SCHEMA'
 ORDER BY TABNAME

輸入

   SELECT 'IMPORT FROM /usr/data/SCHEMA/' || TABNAME || '.ixf OF IXF LOBS FROM /usr/data/SCHEMA/lobs/ MODIFIED BY LOBSINFILE INSERT INTO SCHEMA.' || TABNAME || ';'
     FROM SYSCAT.TABLES
    WHERE TABSCHEMA = 'SCHEMA'
 ORDER BY TABNAME

実際の挿入スクリプトが必要な場合は、サードパーティのツールを使用する必要がある場合があります (DB2 が提供するツールについては知りませんが、間違っている可能性があります)。

于 2009-05-29T12:38:56.873 に答える