SqlPlus 経由の Oracle BLOB エクスポート

SqlPlus 経由の Oracle BLOB エクスポート

Oracle から BLOB 値の選択をすばやく実行し、その結果をメモ帳にコピーして、別の Oracle で対応する挿入を実行してデータを挿入する簡単で高速な方法はありますか? データは 4 K よりもはるかに長いです。

私は sqlplus ツール (より明確に言えば PlSql 開発者) にしかアクセスできないため、外部ツールを使用したり、ファイルをコピーしたりすることはできません。また、私が見た限りでは、Google で検索するのはそれほど簡単ではないため、受け入れられる答えは単純に「いいえ、方法はありません」となるかもしれません。

答え1

メモ帳を仲介として使うよりも、単にSQL*Plus COPYコマンドつまり

COPY FROM source_table@source_tns_alias
       TO destination_table@destination_tns_alias
   CREATE dest_table_name ( column_list)
    USING SELECT column_list 
            FROM source_table_name

SOURCE_TNS_ALIAS の SOURCE_TABLE の内容を、DESTINATION_TNS_ALIAS に新しく作成されたテーブル DEST_TABLE_NAME にコピーします。COPY コマンドには、既存のテーブルにデータをロードするオプションもあります。

答え2

残念ながら、BLOBはSQL*PlusのCOPYコマンドではコピーできません(Oracle8以降、この機能は利用されていないため)。データベースリンクどちらかのデータベースに保存し、そのデータベースにコピーしますか?

それができない場合、これは絶望的になるかもしれませんが、Oracle-Base の Tim が www.oracle-base.com で PL/SQL ベースの FTP クライアントを提供しています。ただし、仲介役として機能する FTP サーバーが必要になります。

cleveridea4data sourceforgeプロジェクトには、Michael O'Neillによる電子メールの代替手段があります。

関連情報