查询长原始数据类型

Posted

技术标签:

【中文标题】查询长原始数据类型【英文标题】:query long raw data type 【发布时间】:2009-05-22 19:05:23 【问题描述】:

我有一个 oracle 表,其中一列是 long 原始类型。我知道我们不能使用 sql 从该列中获取数据。

谁能告诉我如何从该列中获取所有数据?

提前致谢

【问题讨论】:

真正的问题是.. 列中有什么内容,您想用它做什么? 【参考方案1】:

您尝试过 PL/SQL 吗?

declare
  a mytable.rawcol%TYPE;
begin
  select rawcol into a from mytable;
  -- now do something with "a"
end;
/

【讨论】:

【参考方案2】:

您始终可以使用 SQL 来获取数据。事实上,这是将数据输入或输出数据库的唯一方法。 问题是数据以什么格式出现以及你用它做什么。一些 SQL 客户端可能无法很好地处理二进制数据。有些人会将其显示为十六进制流(这可能不是很有意义)。

您可以使用 PL/SQL 和 UTL_FILE 将二进制数据写入服务器上的文件。或者查看 UTL_RAW 包。

【讨论】:

【参考方案3】:

您可以使用 perl DBD::Oracle 来查询该表并写入数据。您可以将任何您喜欢的程序语言与 oracle 客户端/api 一起使用,该客户端/api 可以提取该数据并将其写入文件。您还可以使用 oracle exp/imp 等 oracle 工具将数据从 db 移动到 db。由于您尚未指定要对长原始数据做什么,因此很难进一步帮助您。

【讨论】:

以上是关于查询长原始数据类型的主要内容,如果未能解决你的问题,请参考以下文章