我们正在从 SQL Server 2005 迁移到 2012。其中一项功能因此错误而失败
com.microsoft.sqlserver.jdbc.SQLServerException:不允许从数据类型 varbinary 到 datetime2 的隐式转换。使用 CONVERT 函数运行此查询。
我们SQLJDBC driver 3.0
用来与 SQL Server 2012 进行通信。当我们尝试将 NULL 值插入DATETIME
列(可为空)时,我发现这个问题正在发生。但同样适用于 2005 年。对此问题的任何帮助表示赞赏。
这是一个使用 MyBatis ORM 从 Java 到 SQL Server 2012 失败的简单INSERT
语句:
Insert into temp_test (date1, name, date2) values ('2010-10-10 00:00:00.0','test',null)
当我们从我们的应用程序(使用 SQL JDBC 驱动程序)尝试时,此插入失败......但是相同的代码库在 SQL 2005 中没有任何问题。