フィールドの1つがCLOBフィールドであるOracleデータベースにテーブルがあります。clob フィールドにはいくつかの xml ファイルがあります。そのxmlファイルをunixのテキストファイルにエクスポートしたい場合、どうすればいいですか?
注:サーバーにヒキガエルのようなGUIがインストールされていないため、UNIX環境のみを使用する必要があります。やり方を教えてください。
パッケージUTL_FILE
を使用し、PL/SQL を使用してデータベースからファイルに直接書き込むことができます。
ファイルを配置したいマシンがデータベース サーバー自体ではないと仮定すると、おそらくこれを行うプログラムを作成する必要があります。たとえば、Perl では非常に単純です。
use DBI;
my $db = DBI->connect('dbi:Oracle:tnsname','user','password',{RaiseError=>1});
my $txt = ($db->selectrow_array('select my_clob_col from my table where ...'))[0];
$db->close;
open my $fh, '>out.txt' or die $!;
print $fh $txt;
close $fh;
粗雑ですが、単純なケースでは機能します。要点は、最新のデータベース クライアント API では、CLOB をフェッチすると自動的に文字列値が返され、それを使用して必要なことを行うことができるということです。