oracle导出blob,clob出错的问题

本文介绍了一种利用Oracle系统视图和PL/SQL的Objectselection功能,快速筛选并导出不含CLOB和BLOB类型的表数据的方法,同时提供了使用Oracle Export工具导出含有CLOB和BLOB数据的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.3 如何解决导出clob和blob类型数据报错的问题

当表字段中含有clob和blob类型数据时,使用PL/SQL Developer导出会报stream read error的错误,导出操作终止,说明PL/SQL Developer方式导出不支持这种类型,oracle export方式可以支持这种类型。 由于需要导出的表很多,PL/SQL在导出前都要对需要导出的表进行分析,通常都会花费十几分钟的时间,然而由于某张表存在clob和blob类型数据时就会异常终止,那之前的操作时间就会浪费,为了导出所有表需要将导出的表进行标记,只导出没有clob和blob类型数据的表。我们通常的做法是在导出表的时候用ctrl或者shift按键进行手工选择,通过导出的日志记录不能导出的表,然后手工将这些表反选出待导出的表。但是这样操作费时费力,需要通过不停反复的操作,才能知道哪些表不能导出。 下面介绍一下如何使用oracle系统视图all_tab_columns和PL/SQL在导出表的时候提供的Object selection功能快速导出不包含clob和blob的表数据。

1、使用下面的sql语句拼出Object selection的文件内容。

 --不包含clob和blob的表 select distinct('TABLE "'||a.OWNER ||'"."'||a.TABLE_NAME||'"') from sys.all_tab_columns a where  a.OWNER = 'ICDPUB' and a.TABLE_NAME not in (select t.TABLE_NAME from sys.all_tab_columns t where t.OWNER = 'ICDPUB' and t.DATA_TYPE in ('CLOB','BLOB')) 

注意:上面的sql语句里的ICDPUB是用户名

2、按照上面的语句的执行结果生成Object selection的文件(后缀是.osf),文件的内容如下:   

PL/SQL Developer Object Selection File 1

TABLE "ICDPUB"."ACTIVE_ALARMS"

TABLE "ICDPUB"."ALLAPPOINT"

TABLE "ICDPUB"."ALLOPTIONVIEW"

TABLE "ICDPUB"."ALLOTCONFIG"

TABLE "ICDPUB"."ALLPAPERAUTHVIEW"

TABLE "ICDPUB"."ALLPAPERVIEW"

TABLE "ICDPUB"."ALLQUESTIONVIEW"

3、在导出表功能的表选择框里单击右键选择“Load Object selection”,选择上一步制作的文件,完成表的选择。

4、选择合适的参数,进行导出操作。

5、用oracle export方式导出包含clob和blob的数据。

转载于:https://www.cnblogs.com/li1111xin/p/4730863.html

Oracle数据库中的BLOBCLOB是用来存储大数据(二进制大对象和字符大对象)的数据类型。BLOB可以存储二进制数据,如图片、音频和视频等,而CLOB则用于存储文本数据。 要导出BLOBCLOB数据,可以使用Oracle数据库提供的工具和方法。以下是一种常见的导出方法: 1. 使用 Oracle SQL Developer 进行导出: - 打开 Oracle SQL Developer 工具,并连接到要导出数据库。 - 在“工具栏”上选择“导出数据”选项。 - 在导出中,选择要导出的表并指定目标文件夹。 - 在“导出格式”下,选择“BLOB”或“CLOB”。 - 点击“下一步”并根据导出设置完成导出过程。 要BLOBCLOB数据,也可以使用类似的方法: 1. 使用 Oracle SQL Developer 进行入: - 打开 Oracle SQL Developer 工具,并连接到要入的数据库。 - 在“工具栏”上选择“入数据”选项。 - 在入向中,选择要入的表和数据文件。 - 在“入格式”下,选择“BLOB”或“CLOB”。 - 点击“下一步”并根据入设置完成入过程。 此外,还可以使用PL/SQL语言编写脚本来导出BLOBCLOB数据。使用PL/SQL可以更灵活地进行数据处理和转换。可以编写一段脚本来查询BLOBCLOB数据,并将其导出到文件中,然后在另一个数据库上运行脚本来入数据。 总之,Oracle数据库提供了多种方法来导出BLOBCLOB数据。使用这些方法,可以方便地将大数据对象从一个数据库迁移到另一个数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值