将具有 LONG RAW 列的表中的数据从一个数据库复制到另一个数据库
Posted
技术标签:
【中文标题】将具有 LONG RAW 列的表中的数据从一个数据库复制到另一个数据库【英文标题】:Copy data from table with LONG RAW column from one database to another database 【发布时间】:2015-05-08 07:17:44 【问题描述】:我需要在 Pentaho Kettle 中创建 JOB 以自动将数据从一个数据库复制到另一个数据库。从包含长原始列的表中复制数据时遇到问题。 我已经尝试过以下列出的事情:
我使用了复制表向导。但是在复制包含 LONG RAW 列的表时出现错误“ORA-01461:只能绑定 LONG 值以插入 LONG 列”。两个数据库中的表完全相同.
我已经尝试创建一个 oracle 函数来使用 pl/sql 通过绑定长原始列来插入长原始数据。 我在 PENTAHO 的“执行 sql 脚本”步骤中调用 oracle 函数。 从对偶中选择 function_name(parameter1,parameter2,long raw column,.....)。 但收到错误“字符串文字太长”。
关于如何将大小约为 89330 字节的长原始数据从一个表复制到另一个表的任何建议。
【问题讨论】:
【参考方案1】:汤姆·凯特写道:
2008 年 8 月 26 日 - 世界标准时间晚上 7 点:
很长的原始数据,不会通过数据库链接发生
(https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1101164500346436784)
您可以尝试在一个源数据库中创建“临时”表,在其中使用函数TO_LOB
将LONG RAW
转换为CLOB
。
然后您可以将数据传输到目标数据库。
然后,如果您绝对需要LONG RAW
数据类型,您可以使用此处描述的方法进行转换 - Copying data from LOB Column to Long Raw Column
【讨论】:
以上是关于将具有 LONG RAW 列的表中的数据从一个数据库复制到另一个数据库的主要内容,如果未能解决你的问题,请参考以下文章
将一些数据从 sqlite 表复制到具有不同两列的同一个表中
如何使用 SSMA(用于访问 SQL Server)将具有不同列的表迁移到现有表中?