简体   繁体   English

从IIB插入Oracle DB时出错

[英]Error while inserting to Oracle DB from IIB

I have a WMB application (v8) running on AIX server that makes a jdbc connection for inserting to Oracle 9 database. 我有一个在AIX服务器上运行的WMB应用程序(v8),该应用程序建立了用于插入Oracle 9数据库的jdbc连接。 Now, I am migrating this to IIB(v10) running on LINUX server to update the same database. 现在,我将其迁移到在LINUX服务器上运行的IIB(v10)来更新同一数据库。 The same Insert query is throwing error in the LINUX server. 相同的插入查询在LINUX服务器中引发错误。

The error being shown up is: 显示的错误是:

Error DescrptionORA-01461: can bind a LONG value only for insert into a LONG column 错误描述ORA-01461:只能绑定LONG值以插入LONG列

My query is: 我的查询是:

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: There is nothing wrong/mismatch in column type/data as same query is executing successfully. PS:没有错误/列类型/数据不匹配,因为同一查询正在成功执行。 I could not understand what is wrong with my IIB10 application running on Linux. 我不明白在Linux上运行的IIB10应用程序有什么问题。

can bind a LONG value only for insert into a LONG column 可以绑定LONG值,仅用于插入LONG列

The above error comes because LONG and LONG RAW datatypes have been deprecated in Oracle DB reference . 之所以出现上述错误,是因为Oracle数据库参考中不赞成使用LONGLONG RAW数据类型。

The solution for this could be to change your datatype from LONG to CLOB . 解决方案可能是将数据类型从LONG更改为CLOB

Edit : 编辑

The above error may be caused by exceeding the limit of the varchar or mismatch in size of varchar. 以上错误可能是由于超出varchar的限制或varchar大小不匹配引起的。 try matching size of other datatypes too. 也尝试匹配其他数据类型的大小。 i doubt the varchar size causing the above issue. 我怀疑导致上述问题的varchar大小。 due to size difference between varchar and varchar2 由于varcharvarchar2之间的大小差异

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM