PL/SQL スクリプトを使用して、Oracle テーブルから *.dbf ファイル (Excel など) にデータをエクスポートしたいと考えています。利用可能なコードはありますか?
2 に答える
これを行うには、さまざまな方法があります。最も簡単な方法は、この機能を提供する SQL Developer や TOAD などの IDE を使用することです。
PL/SQL から呼び出す場合、組み込みの Oracle 関数はありません。ただし、値で区切られたレコードを書き出すことができる UTL_FILE を使用して何かを作成するのは比較的簡単です。これらはExcelで拾うことができます。
エクスポートされたデータにカンマが含まれている場合、デフォルトのセパレータ,
(カンマは .CSV の「C」) が問題を引き起こすことに注意してください。そのため、右クリックの [プログラムから開く] ではなく、データ インポート ウィザードを使用する必要があります。
ちなみに、.dbf
サフィックスを使用するのはおそらく悪い考えです。Oracle ファイル システムでは、想定される意味はデータベース ファイル、つまりデータベースのインフラストラクチャの一部です。これは単なる慣例ですが、人々を不必要に混乱させても意味がありません。推奨される代替手段には.csv
、 、.dmp
またはが含まれます.exp
。
編集
別の Oracle データベースに転送するためにデータをエクスポートすることのみに関心がある場合は、Data Pump ユーティリティの使用を検討する必要があります。これには API が付属しているため、PL/SQL から使用できます。または、DataPump ドライバーで宣言された外部テーブルを介してデータをアンロードします。
Oracle の外部テーブル機能の使用を検討することもできます。これにより、基本的に CSV ファイルを「仮想」テーブルにマップし、そこに (したがってファイルを) 挿入できます。