Я использую Teiid для вставки нулевого значения в столбец datetimeoffset
, но PreparedStatement.setNull(index, Types.TIMESTAMP)
не вставляет нулевое значение. Я получаю следующую ошибку:
Причина: java. sql .SQLException: Remote com.microsoft.sqlserver.jdb c .SQLServerException: неявное преобразование из типа данных varbinary to datetimeoffset не допускается. Используйте функцию CONVERT для выполнения этого запроса.
в com.microsoft.sqlserver.jdb c .SQLServerException.makeFromDatabaseError (SQLServerException. java: 262)
в com.microsoft.sqlserver.jdb c .SQLServerStatement.getNextResult (SQLServerStatement. java: 1632)
в com.microsoft.sqlserver.jdb c .SQLServerPreparedStatement.doExecutePreparedStatement (SQLServerPreparedSoftment 600) * at. .sqlserver.jdb c .SQLServerPreparedStatement $ PrepStmtExecCmd.doExecute (SQLServerPreparedStatement. java: 522)
в com.microsoft.sqlserver.jdb c .TDSCommand.exffer. 1012 * в com.microsoft.sqlserver.jdb c .SQLServerConnection.executeCommand (SQLServerConnection. java: 3053)
в com.microsoft.sqlserver.jdb c .SQLServerStatement.executeCommand (SQLServerStateState 10 SQL * Server 10). : 247)
в com.microsoft.sqlserver.jdb c .SQLServerStatement.executeStatement (SQLServerStatement. java: 222)
в com.microsoft.sqlserver.jdb c. SQLServerPreparedStatement.executeUpdate (SQLServerPreparedStatement. java: 471)
в org.jboss.jca.adapters.jdb c .WrappedPreparedStatement.executeUpdate (WrappedPreparedj.jpg). 1053 * .JDBCUpdateExecution.executeTranslatedCommand (JDBCUpdateExecution. java: 315) ... пропущено 27 общих фреймов
Здесь приведены подробные сведения о моем источнике данных для SQL Версия 2012 Server:
<driver name="sqlserver" module="com.microsoft.sqlserver">
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
</driver>
и версия драйвера: mssql-jdbc-8.2.0.jre8
Я попытался вставить ноль без Teiid (установив sql соединение с использованием драйвера Microsoft jdb c), и он работает. Таблица содержит только один столбец с типом данных datetimeoffset
.
Пожалуйста, предложите любые идеи относительно того, что я могу попробовать, кроме этого. Заранее спасибо!