Debuggen ich dieses Stück Code verwenden, um einige Daten in der Datenbank einfügen:vorbereitete Anweisung wirft einzige Ausnahme, wenn nicht
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:war_odbc");
PreparedStatement st =
con.prepareStatement(
"INSERT INTO Actors(FirstName,LastName,Age) VALUES(?,?,?)");
st.setString(1, "Robert");
st.setString(2, "de Niro");
st.setInt(3,45);
st.executeUpdate();
con.close();
Wenn ich Debugger und Schritt eine Zeile zu einer Zeit, alles gut geht. Wenn ich es nicht verwenden und nur die Anwendung ausführen, bekomme ich diese Ausnahme:
[Microsoft][ODBC Driver Manager] Invalid string or buffer length
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.buildTypeInfo(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
Ich verwende Windows 7 64 Bit. Ich ging zu Verwaltungstools, Datenquellen (ODBC) und ich habe es erfolgreich getestet.
Seit wann ist 'de Niro' eine ganze Zahl? –
Die wahre Frage ist: "Warum funktioniert dieser Code im Debug-Modus?" ... – Aubin
De Niro De Niro, kann er sein, was auch immer er mag – lifetimes