2

テーブル データを dev box db から 2 つの異なるデータベースである uat db にコピーしようとしています。私はヒキガエルで試しています。すべての接続の詳細は正しいですが、機能せず、次のエラーがスローされます。

[エラー] 実行 (12:1): ORA-00900: SQL ステートメントが無効です

これは私がしようとしているものです

copy from abc/cde@//abc.abc.com:1521/devbox to abc/cde@//abc.abc.com/uatbox 
  INSERT TOOL_SERVICE_MAPPING (*) 
  USING (SELECT * FROM TOOL_SERVICE_MAPPING)
4

3 に答える 3

6

テーブルに膨大な数の行がない場合は、Toad のエクスポート機能を使用できます。これは、行ごとに挿入ステートメントを作成します。その後、宛先 DB でこれらのステートメントを実行して、テーブルのデータを再作成できます。

手順は次のとおりです。

A. 宛先 DB にテーブルのコピーを作成する

  1. ソース DB のスキーマ ブラウザ ウィンドウで、コピーするテーブルをクリックし、ウィンドウの右側にある [スクリプト] タブを選択します。テーブルを再作成するスクリプトが見つかります。このスクリプトをコピーします
  2. 宛先 DB の新しい SQL エディター ウィンドウにスクリプトを貼り付けて実行します。これにより、新しいテーブルが作成されます

B. 新しいテーブルにデータをコピーする

  1. スキーマ ブラウザ ウィンドウで、ソース DB のテーブル名を右クリックします。
  2. コンテキストメニューから「データのエクスポート」を選択します
  3. エクスポート クエリの" where " ステートメントを記述します (テーブル全体をコピーする場合は空白のままにします)。
  4. 宛先を選択: クリップボード
  5. [ OK ] をクリックします(insert ステートメントがクリップボードに保存されます)。
  6. 宛先 DB の新しい SQL エディター ウィンドウに挿入ステートメントを貼り付けます。
  7. ステートメントをスクリプトとして実行 (ショートカット F5)
于 2013-09-14T14:41:32.097 に答える
1

これまでに経験した中で最も簡単でエラーのない方法は、データベース->比較->スキーマです。

見た目ほど複雑ではありませんが (多数のチェックボックス)、空のデータベースに作成する必要があるオブジェクトのボックスにチェックを入れ、比較の最後に、すべてのオブジェクト (トリガー、ビュー、シーケンス) を含む SQL スクリプトを作成します。 、パッケージ) を選択 (チェックボックス) します。

生成された SQL スクリプトにすべてのテーブル、トリガー、データなどがはっきりと表示され、作成したくないもの (存在する場合) にチェックを入れることもできます... スクリプトを実行する前に、TOAD は実行しているデータベースに対して確認するように求めます。スクリプト - 何度か救われました...見た目は悪いですが、完全に機能します。

これが巨大なデータベースに適しているかどうかわからない約200のテーブルがあります。

于 2016-07-14T10:15:04.807 に答える