我有一个在 AIX 服务器上运行的 WMB 应用程序 (v8),它建立一个 jdbc 连接以插入到 Oracle 9 数据库中。现在,我将其迁移到在 LINUX 服务器上运行的 IIB(v10) 以更新同一个数据库。相同的插入查询在 LINUX 服务器中抛出错误。
显示的错误是:
Error DescrptionORA-01461: can bind a LONG value only for insert into a LONG column
我的查询是:
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 应用程序有什么问题。
最佳答案
can bind a LONG value only for insert into a LONG column
出现上述错误是因为 LONG 和 LONG RAW 数据类型已在 Oracle DB 中弃用 reference .
对此的解决方案可能是将您的数据类型从 LONG 更改为 CLOB。
编辑:
上述错误可能是由于varchar的限制或varchar的大小不匹配引起的。也尝试匹配其他数据类型的大小。我怀疑导致上述问题的 varchar 大小。由于 varchar 和 varchar2
之间的大小差异关于java - 从 IIB 插入 Oracle DB 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46256479/