查询长原始数据类型

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。由于您尚未指定要对长原始数据做什么,因此很难进一步帮助您。

【讨论】:

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

Oracle 长原始问题

我是不是需要在 C# 中使用来自非托管 C++ dll 的原始数据类型执行 MarshalAs?

如何使用sql在表中插入数据类型为BLOB的8796字符长数据?

Python 文本序列类型(字符串类型 str)[学习 Python 必备基础知识][看此一篇就够了][长字符串][原始字符串 r][字符串常用方法]

Python 文本序列类型(字符串类型 str)[学习 Python 必备基础知识][看此一篇就够了][长字符串][原始字符串 r][字符串常用方法]

MySQL通过POIN数据类型查询指定范围内数据