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.
Ah * smacks Kopf * - Ich lese an anderer Stelle auf SO, dass das maximale Jahr war 9999, aber nicht daran gedacht, das zu überprüfen. Vielen Dank! –