I am using this piece of code to insert some data into a database:
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();
If I use the debugger and step by step, everything goes well. If I do not use it and just run the application, I get this exception:
[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)
I am using the 64-bit version of Windows 7. I went to Administration, Data Sources (ODBC), and I successfully tested it.
Jack willson
source share