我在 oracle 数据库中有一个表,其中一个字段是 clob 字段。Clob 字段有几个 xml 文件。现在,如果我想将该 xml 文件导出到 unix 上的文本文件中,我该怎么做?
注意:我没有为服务器安装任何像 toad 这样的 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 会自动返回一个字符串值,然后你可以用它做你想做的事。