场景:拷贝一个数据库,其中一张表里含有BLOB类型字段,在执行sql时报错
ORA-01704: 文字字符串过长!
网上通过存储过程,把字段作为变量,再插入到表中。但不太可能批量执行。
最终解决:通过远程数据库,将数据直接插入本地数据可以执行。
--创建oracle远程连接--
CREATE PUBLIC DATABASE LINK linkname CONNECT TO 用户名 IDENTIFIED BY 密码 USING '192.168.30.109:1521/orcl';
--关闭远程连接--
DROP PUBLIC DATABASE LINK linkname;
--查询远程库的表,不能含有CLOB blob字段--
select ID_, NAME_ from ACT_GE_BYTEARRAY@linkname;
--先创建表--
insert into ACT_GE_BYTEARRAY select *from ACT_GE_BYTEARRAY@linkname;