Fir*_*rat 4 ms-access odbc blob jdbc jdbc-odbc
我无法使用MS Access(sun.jdbc.odbc.JdbcOdbcDriver)在PreparedStatement上调用setNull
preparedStatement.setNull(index, sqltype).
Run Code Online (Sandbox Code Playgroud)
这有解决方法吗?对于LONGBINARY
数据类型,我尝试了以下调用,但都没有工作.
setNull(index, java.sql.Types.VARBINARY)
setNull(index, java.sql.Types.BINARY)
Run Code Online (Sandbox Code Playgroud)
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Invalid SQL data type at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) at sun.jdbc.odbc.JdbcOdbc.SQLBindInParameterNull(JdbcOdbc.java:986) at sun.jdbc.odbc.JdbcOdbcPreparedStatement.setNull(JdbcOdbcPreparedStatement.java:363)
我已经观察到,null
使用JDBC 4.1,Java 7,MS Access 2013和JDBC-ODBC桥接器绑定到大多数数据类型的"相当好" 的答案就是这个,我已经在jOOQ中构建了它:
switch (sqlType) {
case Types.BINARY:
case Types.VARBINARY:
case Types.LONGVARBINARY:
case Types.BLOB:
stmt.setNull(nextIndex(), Types.VARCHAR);
break;
default:
stmt.setString(nextIndex(), null);
break;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1157 次 |
最近记录: |