通过使用SQLCMD创建的CSV将VARBINARY(SQLSERVER)转换为RAW(ORACLE)

时间:2016-07-15 17:08:35

标签: sql-server-2008 oracle11g sqlcmd sql-loader varbinary

我正在尝试使用 SQLCMD 从CSV文件中导出SQLSERVER中的JBPM表,我希望将其导入ORACLE DB。表结构如下:

SOURCE表列(SQLSERVER):

[PROCESSFILE_] [numeric](19, 0) ,
[BYTES_] [varbinary](1024) ,
[INDEX_] [int] 

TARGET表格列(ORACLE):

[PROCESSFILE_] NUMBER(19,0) , 
[BYTES_] RAW(1024), 
[INDEX_] NUMBER(10,0)

我正在使用 SQLLDR 将数据加载到ORACLE中,并且我收到以下错误:

Record 53: Rejected - Error on table JBPM_BYTEBLOCK_TEST, column BYTES_.
Field in data file exceeds maximum length

我的控制文件看起来像这样:

load data
    infile 'JBPM_BYTEBLOCK.csv'
           into table JBPM_BYTEBLOCK_TEST
fields terminated by ","
(PROCESSFILE_, BYTES_ ,INDEX_)

有人可以建议如何修复此问题并将十六进制数据导入oracle吗?甚至可以通过CSV吗?

由于我对此不熟悉,我还想知道有没有比CSV更好的方法?

注意: 我的目标数据库在AWS上,我们在两个数据库之间存在连接问题。

0 个答案:

没有答案