1
パラメータの1つがsmalldatetime
のストアドプロシージャを実行しようとしています。過去に私は常にdatetime2
とdatetime
フィールドを文字列としてエンコードしていましたが、うまくいきました。私は使用していますMicrosoft JDBC DriverSQLサーバーsmalldatetimeへのJDBCエンコーディング
smalldatetimeパラメータに文字列/ nvarcharを使用しようとすると、このエラーが発生します。
それはjava.sql.Timestamp
クラスを使用することを提案
microsoft documentationを見てみると
Error converting data type nvarchar to smalldatetime. Query: EXEC dg.FooBar ?, ?, ?, ?, ? Parameters: [[123, 1, 2099-01-01, 1, DG TEST]]
。 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]]
助けてください。 00::00.0、アウトです
Ah * smacks head * - 私は最大年が9999であったことをSOの他の場所で読んでいますが、それを再確認することは考えていませんでした。ありがとう! –