如何获取 blob 类型的数据以在 oracle 中插入?

Posted

技术标签:

【中文标题】如何获取 blob 类型的数据以在 oracle 中插入?【英文标题】:how to obtain blob type data for insertion in oracle? 【发布时间】:2022-01-15 08:15:40 【问题描述】:

你好朋友,我的 blob 数据类型有问题,我想将一些数据从一个 bd 迁移到另一个 bd 但是我无法迁移一些具有 blob 类型列的表,我尝试的是导出一个单条记录方式如下。

首先我选择要导出到其他 bd 的记录

select TEMPLATE_DOCUMENT_ID,blob_file  from example_table where template_document_id = 32;

然后我导出结果得到插入

我配置如下

当我这样做时,我会得到一个包含我要迁移的记录数据的脚本

如果我运行它,它会给我以下错误

Error report -
ORA-01465: invalid hex number

您知道如何获得正确的数据来进行插入吗?

注意:从一个 ORACLE 数据库迁移到另一个 ORACLE 数据库。

【问题讨论】:

那个插入语句看起来不对;根据文档,连接运算符仅适用于字符串。最新版本的 SQL Developer 在导出为插入语句时会静默跳过 BLOB 列;你用的是哪个版本? This might be helpful though. @AlexPoole 我试过这种方式,但它不会生成我的文件 【参考方案1】:

显然源数据库是Oracle。你没有提到目标数据库是什么。如果它也是 Oracle,我建议使用 Oracle 数据泵工具 (expdp/impdp)。文档在这里:https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm

如果您需要它,至少我经常使用它是该工具的 VIEW_AS_TABLE 选项,因为它允许我导出数据的子集。

【讨论】:

以上是关于如何获取 blob 类型的数据以在 oracle 中插入?的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE SQL中获取BLOB的图像格式

java 怎么读取oracle的blob类型数据,我的是保存新闻内容! 只有这么多财富值了,帮个忙谢谢

ODAC 组件支持 Oracle 8 的 BLOB 和 CLOB 数据类型

ORACLE数据库BLOB如何转化类型

oracle数据库之如何将blob类型转换为varchar2

如何获取oracle数据库 blob 数据