我在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应用程序出了什么问题。
答案 0 :(得分:0)
只能绑定LONG值以插入LONG列
出现上述错误是因为Oracle DB reference中已弃用 LONG 和 LONG RAW 数据类型。
此解决方案可能是将您的数据类型从 LONG 更改为 CLOB 。
修改强>:
上述错误可能是由于超出 varchar 的限制或varchar的大小不匹配造成的。尝试匹配其他数据类型的大小。我怀疑varchar大小导致上述问题。由于 varchar 和 varchar2
之间的大小差异