将具有LONG RAW列的表中的数据从一个数据库复制到另一个数据库

时间:2015-05-08 07:17:44

标签: oracle

我需要在Pentaho Kettle中创建JOB,以自动将数据从一个数据库复制到另一个数据库。从包含长原始列的表复制数据时,我遇到问题。 我在下面列出了一些东西:

  1. 我使用了复制表向导。但是获取错误“ORA-01461:只能插入一个LONG值才能插入LONG列”,同时复制包含LONG RAW列的表。两个数据库中的表完全相同

  2. 我尝试创建一个oracle函数,使用pl / sql通过绑定long原始列来插入长原始数据。 我在PENTAHO的“执行sql脚本”步骤中调用oracle函数。 从dual中选择function_name(prameter1,parameter2,long raw column,.....)。 但是得到错误“String literal too long”。

  3. 如何建议如何将大小约为89330字节的长原始数据从一个表复制到另一个表。

1 个答案:

答案 0 :(得分:0)

Tom Kyte写道:

  

2008年8月26日 - UTC时间晚上7点:

     

长原始,不会通过数据库链接发生

https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1101164500346436784

您可以尝试在使用函数LONG RAWCLOB转换为TO_LOB的一个源数据库中创建“临时”表。 然后您可以将数据传输到目标数据库。

然后,如果您绝对需要LONG RAW数据类型,则可以使用此处所述的方法转换回来 - Copying data from LOB Column to Long Raw Column