1
我试图执行一个存储过程,其中一个参数的类型是smalldatetime
。在过去,我一直将datetime2
和datetime
字段编码为字符串,并且工作正常。我正在使用Microsoft JDBC DriverJDBC编码到sql server smalldatetime
我在尝试使用string/nvarchar作为smalldatetime参数时出现此错误。在microsoft documentation
Error converting data type nvarchar to smalldatetime. Query: EXEC dg.FooBar ?, ?, ?, ?, ? Parameters: [[123, 1, 2099-01-01, 1, DG TEST]]
寻找它建议使用java.sql.Timestamp
类。将我的java代码更改为Timestamp.valueOf(LocalDate.of(2099, 1, 1).atStartOfDay())
我收到类似的错误。
Error converting data type datetime2 to smalldatetime. Query: EXEC dg.FooBar ?, ?, ?, ?, ? Parameters: [[123, 1, 2099-01-01 00:00:00.0, 1, DG TEST]]
任何帮助表示赞赏。
啊*砸头* - 我头上读到SO的其他地方,最大的一年是9999,但没有想到要仔细检查。谢谢! –