尝试使用 TYPES.NULL 设置 null 时获取未知对象类型
Getting Unknown object type when trying to set null using TYPES.NULL
我正在尝试使用 JDBC 执行更新语句,并且我正在尝试设置如下所示的空值。
updateStmt.setNull(j + 1, Types.NULL);
但是每当执行此语句时,我都会收到以下错误。
java.sql.SQLException: Unknown object type
at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:355)
at com.informix.jdbc.IfxValue.createInstanceFromClassName(IfxValue.java:403)
at com.informix.jdbc.IfxValue.makeInstanceFromIfxType(IfxValue.java:635)
at com.informix.jdbc.IfxValue.makeInstanceFromIfxType(IfxValue.java:610)
at com.informix.jdbc.IfxValue.makeInstance(IfxValue.java:390)
at com.informix.jdbc.IfxPreparedStatement.setNull(IfxPreparedStatement.java:396)
我做错了什么?请帮忙
不要放Types.NULL
。而是使用要将空插入到的列的类型。
并非所有数据库都有专用的 NULL
数据类型,Informix 似乎就是其中之一。
为了获得最佳可移植性,请使用具有 null
值的列的实际类型。
例如(假设列类型为VARCHAR
,根据需要调整):
updateStmt.setString(j + 1, null);
或:
updateStmt.setNull(j + 1, Types.VARCHAR);
我正在尝试使用 JDBC 执行更新语句,并且我正在尝试设置如下所示的空值。
updateStmt.setNull(j + 1, Types.NULL);
但是每当执行此语句时,我都会收到以下错误。
java.sql.SQLException: Unknown object type
at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:355)
at com.informix.jdbc.IfxValue.createInstanceFromClassName(IfxValue.java:403)
at com.informix.jdbc.IfxValue.makeInstanceFromIfxType(IfxValue.java:635)
at com.informix.jdbc.IfxValue.makeInstanceFromIfxType(IfxValue.java:610)
at com.informix.jdbc.IfxValue.makeInstance(IfxValue.java:390)
at com.informix.jdbc.IfxPreparedStatement.setNull(IfxPreparedStatement.java:396)
我做错了什么?请帮忙
不要放Types.NULL
。而是使用要将空插入到的列的类型。
并非所有数据库都有专用的 NULL
数据类型,Informix 似乎就是其中之一。
为了获得最佳可移植性,请使用具有 null
值的列的实际类型。
例如(假设列类型为VARCHAR
,根据需要调整):
updateStmt.setString(j + 1, null);
或:
updateStmt.setNull(j + 1, Types.VARCHAR);