我使用这段代码将一些数据插入数据库:
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();
如果我一次使用调试器和第一行,一切顺利.如果我不使用它并只运行应用程序,我会得到以下异常:
[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)
我使用的是Windows 7 64位.
我去了管理工具,数据源(ODBC),我成功测试了它.
解决方法
原文地址:https://www.jb51.cc/java/129055.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。