2017-10-09 5 views
-3

Hallo Ich erhalte die BWLow Fehler während meines JAVA-CodeJava JDBC: Verursacht durch: java.sql.SQLException: Numerischen Überlauf

Caused by: java.sql.SQLException: Numeric Overflow 
at oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:4380) ~[ojdbc-11.2.0.2.0.jar:11.2.0.2.0] 
at oracle.jdbc.driver.NumberCommonAccessor.getInt(NumberCommonAccessor.java:111) ~[ojdbc-11.2.0.2.0.jar:11.2.0.2.0] 
at oracle.jdbc.driver.NumberCommonAccessor.getObject(NumberCommonAccessor.java:3263) ~[ojdbc-11.2.0.2.0.jar:11.2.0.2.0] 
at oracle.jdbc.driver.T4CVarnumAccessor.getObject(T4CVarnumAccessor.java:303) ~[ojdbc-11.2.0.2.0.jar:11.2.0.2.0] 
at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCallableStatement.java:2049) ~[ojdbc-11.2.0.2.0.jar:11.2.0.2.0] 
at oracle.jdbc.driver.OracleCallableStatementWrapper.getObject(OracleCallableStatementWrapper.java:815) ~[ojdbc-11.2.0.2.0.jar:11.2.0.2.0] 
+1

Sieht so aus, als ob Ihre Nummer zu groß für einen int ist. Verwenden Sie stattdessen eine lange – Jens

+0

Bitte geben Sie Ihren Code –

+0

Danke für Anregungen. Verwenden Sie Long bereits im outputMapper. Die Datenbankspalte ist Nummer (18), die generierte Nummer des Speicherprozesses ist 13-stellig. Bis zu 12 Ziffern funktioniert, aber wenn gespeichert Proc begann 13 stellige Nummer der Code ist fehlgeschlagen. – Rauthan

Antwort

0

In Oracle ausgeführt wird, wenn Sie numerische Daten speichern und diese Daten aus Bereich von Spalte Datentyp dann haben Sie diese Art von Ausnahme.

Beispiel - Wenn Sie eine Spalte vom Typ INTEGER (NUMBER) haben und Daten größer als 2.147.483.647 speichern, dann wird der numerische Überlauf verwendet.

+0

Der Datentyp der Spalte ist NUMBER (18), während die generierte Zahl aus 13 Ziffern besteht. Können Sie das bitte vorschlagen? – Rauthan

Verwandte Themen