2017-07-19 6 views
1

Ich versuche, eine gespeicherte Prozedur auszuführen, wo einer der Parameter vom Typ smalldatetime ist. In der Vergangenheit habe ich immer datetime2 und datetime Felder als Strings codiert und das hat gut funktioniert. Ich benutze die Microsoft JDBC DriverJDBC-Codierung auf SQL-Server smalldatetime

Ich bekomme diesen Fehler, wenn Sie versuchen, eine Zeichenfolge/nvarchar für die smalldatetime Parameter verwenden.

Error converting data type nvarchar to smalldatetime. Query: EXEC dg.FooBar ?, ?, ?, ?, ? Parameters: [[123, 1, 2099-01-01, 1, DG TEST]] 

Mit Blick auf die microsoft documentation schlägt es die java.sql.Timestamp Klasse. Ändern meines Java-Codes zu Timestamp.valueOf(LocalDate.of(2099, 1, 1).atStartOfDay()) Ich bekomme einen ähnlichen Fehler.

Error converting data type datetime2 to smalldatetime. Query: EXEC dg.FooBar ?, ?, ?, ?, ? Parameters: [[123, 1, 2099-01-01 00:00:00.0, 1, DG TEST]] 

Jede Hilfe wird geschätzt.

Antwort