从IIB插入Oracle DB时出错

时间:2017-09-16 17:18:03

标签: java linux oracle ibm-integration-bus

我在AIX服务器上运行了一个WMB应用程序(v8),该应用程序创建了一个用于插入Oracle 9数据库的jdbc连接。现在,我将其迁移到在LINUX服务器上运行的IIB(v10)以更新相同的数据库。相同的Insert查询在LINUX服务器中抛出错误。

显示的错误是:

  

错误说明ORA-01461:只能插入LONG值才能插入LONG列

我的查询是:

INSERT INTO
EVENT_DATA(
    SEQUENCEID,
    CUSTOMERNUMBER,
    DATETIME,
    DEBTORNUMBER,
    ENDUSERID,
    PREMISENUMBER,
    REPORTEVENTID,
    REQUESTID,
    SOURCECLIENTID,
    SUCCESSINDICATOR) 
VALUES(
    73842,
    100,
    2017-09-16,
    10064393,
    Breeze1,
    303746429,
    AAMP,
    1006,
    O,
    N)

PS:列类型/数据没有错误/不匹配,因为同一查询正在成功执行。我无法理解在Linux上运行的IIB10应用程序出了什么问题。

1 个答案:

答案 0 :(得分:0)

  

只能绑定LONG值以插入LONG列

出现上述错误是因为Oracle DB reference中已弃用 LONG LONG RAW 数据类型。

此解决方案可能是将您的数据类型从 LONG 更改为 CLOB

修改

上述错误可能是由于超出 varchar 的限制或varchar的大小不匹配造成的。尝试匹配其他数据类型的大小。我怀疑varchar大小导致上述问题。由于 varchar varchar2

之间的大小差异