2009-06-05 15 views
0

UNIXでOracleを使用して問合せの出力をフラット・ファイルに取得する方法はありますか。 例: 私はTESTテーブルを持っています。私は、TESTテーブルの内容をフラットファイルにして、出力を.txt形式の別のフォルダに保存したいと考えています。UNIXでoracleを使用してフラット・ファイルに出力する

答えて

3

「SQL * Plusユーザーズ・ガイドおよびリファレンス」のCreating a Flat Fileを参照してください。

+0

+1(行の折り返しを避けるためにLINESIZEを大きく設定する必要があるかもしれないと付け加えることがあります。末尾の空白のTRIMSPOOLは各行から削除されます。 – spencer7593

1

oracle SQLplusターミナルには、 というスプールを入力できます。 クエリを実行します。 スプールをオフにします。

これで、クエリの結果が含まれます。

実際には、spoolコマンドがスプールオフまで実行されて以来、端末に出力されるすべての情報が含まれます。

0

データベースサーバー上のディレクトリにアクセスでき、Oracleに "ディレクトリ"オブジェクトを作成する権限がある場合、多くのオプションがあります。

たとえば、オペレーティング・システム・レベルでファイルを読み書きするために、UTL_FILEパッケージ(PL/SQLビルトインの一部)を使用できます。

「外部表」機能を使用して、Oracleに対して単一表のように見えるオブジェクトを定義しますが、実際にはOSレベルのフラット・ファイルです。 Oracleのドキュメントによく書かれています。

また、1回限りのタスクでは、SQLとPL/SQLを操作するツールのほとんどが、データベースとの間でデータを移動する機能を提供します。 Windows環境では、Toadはそれをうまく使います。 Oracleの無料SQLDeveloperは、多くのプラットフォームで動作します。毎日実行されるプロセスにそれらを使用することは望ましくありませんが、1回の移動では問題ありません。私は一般的に、SQL * Plusのスプーリングよりも使いやすくなっていますが、これは同じ機能の基本的なバージョンです。

関連する問題