用JDBC编程的运行时错误及其解决.doc_第1页
用JDBC编程的运行时错误及其解决.doc_第2页
用JDBC编程的运行时错误及其解决.doc_第3页
用JDBC编程的运行时错误及其解决.doc_第4页
用JDBC编程的运行时错误及其解决.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用JDBC编程的运行时错误及其解决用JDBC编程的运行时错误及其解决1源代码:21、java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver41.1 错误信息:41.2 错误描述41.3 错误解决方法42、用户 sa 登录失败62.1 错误信息:62.2 错误描述62.3 错误解决方法63、Invalid parameter binding(s)73.1 错误信息:73.2 错误描述73.3 错误解决方法74、对象名 jspBook 无效84.1 错误信息:84.2 错误描述84.3 错误解决方法85、列名 bookId 无效95.1 错误信息:95.2 错误描述95.3 错误解决方法96、Value can not be converted to requested type106.1 错误信息:106.2 错误描述106.3 错误解决方法10源代码:package edu.ccniit.jspCourse.db.prim;import java.sql.DriverManager;import java.sql.SQLException;/* * 获得指定ID的图书的信息 * author Administrator * */public class GetBookByID/* * param args * throws ClassNotFoundException * throws SQLException */public static void main(String args) throws ClassNotFoundException, SQLExceptionClass.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);/-String dbUrl = jdbc:microsoft:sqlserver:/localhost:1433;java.sql.Connection con = DriverManager.getConnection(dbUrl,sa,123);/-String sqlStr = select * from jspBook where bookId=?;java.sql.PreparedStatement pst = con.prepareStatement(sqlStr);/-pst.setInt(3, 3);/-java.sql.ResultSet rs = pst.executeQuery();/-while(rs.next()String book_id = rs.getString(bookId);String book_name = rs.getString(book_name);System.out.println(book_id+ +book_name);pst.close();con.close();1、java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver1.1 错误信息:Exception in thread main java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriverat .URLClassLoader$1.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at .URLClassLoader.findClass(Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)at java.lang.ClassLoader.loadClassInternal(Unknown Source)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Unknown Source)at edu.ccniit.jspCourse.db.prim.GetBookByID.main(GetBookByID.java:23)1.2 错误描述 错误信息:SQLServer的JDBC驱动程序类com.microsoft.jdbc.sqlserver.SQLServerDriver无法找到。 造成错误的原因:没有将SQLServer的3个驱动程序文件放到项目的构建路径中。1.3 错误解决方法 将SQLServer的三个驱动文件放到项目的构建路径中。操作步骤是: 步骤1:在项目中新建一个名称为lib的目录,操作顺序为: 鼠标右击项目名-新建-文件夹步骤2:将数据库驱动的3个文件拷贝到lib目录下,操作顺序为 拷贝数据库取得的3个文件-选择项目中的lib目录并单击鼠标右键-选择粘贴步骤3:鼠标右击项目名-选择构建路径-配置构建路径-选择库标签项,将打开以下页面:步骤4:点击添加按钮,并选择jspCourseExample项目下的lib目录中的3个文件,并点击确定按钮,界面如下:2、用户 sa 登录失败2.1 错误信息:Exception in thread main java.sql.SQLException: MicrosoftSQLServer 2000 Driver for JDBCSQLServer用户 sa 登录失败。at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessErrorToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSLoginRcessReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessReply(Unknown Source)at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)at java.sql.DriverManager.getConnection(Unknown Source)at java.sql.DriverManager.getConnection(Unknown Source)at edu.ccniit.jspCourse.db.prim.GetBookByID.main(GetBookByID.java:26)2.2 错误描述 错误信息:用sa用户名和123密码无法登录SQLServer数据库2.3 错误解决方法 请输入正确的数据库密码,如果数据库没有密码或密码忘记,可以在SQLServer的企业管理器中的安全中选项中来修改sa用户密码。3、Invalid parameter binding(s)3.1 错误信息:Exception in thread main java.sql.SQLException: MicrosoftSQLServer 2000 Driver for JDBCInvalid parameter binding(s).at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.base.BasePreparedStatement.validateParameterIndex(Unknown Source)at com.microsoft.jdbc.base.BasePreparedStatement.setObjectInternal(Unknown Source)at com.microsoft.jdbc.base.BasePreparedStatement.setInt(Unknown Source)at edu.ccniit.jspCourse.db.prim.GetBookByID.main(GetBookByID.java:32)3.2 错误描述 错误信息:对SQL语句中的?指定实际数据时出错,一般是将?的序号指定错了,SQL中的?的序号从1开始。并且指定的实际数据的值得类型必须与数据库中对应的列的数据类型,并且要与pst.set()中指定的类型相一致。3.3 错误解决方法 将pst.setInt(3, 3);代码改为pst.setInt(3, 3);4、对象名 jspBook 无效4.1 错误信息:Exception in thread main java.sql.SQLException: MicrosoftSQLServer 2000 Driver for JDBCSQLServer对象名 jspBook 无效。at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessErrorToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRPCRcessReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessReply(Unknown Source)at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)at com.microsoft.jdbc.base.BaseSmonTransitionToState(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)at com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown Source)at com.microsoft.jdbc.base.BaseSmonExecute(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)at edu.ccniit.jspCourse.db.prim.GetBookByID.main(GetBookByID.java:34)4.2 错误描述 错误信息:代码的34行select * from jspBook where bookId=?中,jspBook代表表名,即数据库中并没有名称为jspBook的表。4.3 错误解决方法步骤1:一定要确保数据库的URL中一定要有databaseName参数,否则JDBC连接的就是master库,但master库并不是我们要进行操作的数据库。 步骤2:指定好databaseName参数后,查看数据库中是否有名称为jspBook的表。此处应 将jspBook改为正确的表名,即将String sqlStr = select * from jspBook where bookId=?;代码改为String sqlStr = select * from book where bookId=?;5、列名 bookId 无效5.1 错误信息:Exception in thread main java.sql.SQLException: MicrosoftSQLServer 2000 Driver for JDBCSQLServer列名 bookId 无效。at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessErrorToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRPCRcessReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRcessReply(Unknown Source)at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)at com.microsoft.jdbc.base.BaseSmonTransitionToState(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)at com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown Source)at com.microsoft.jdbc.base.BaseSmonExecute(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)at edu.ccniit.jspCourse.db.prim.GetBookByID.main(GetBookByID.java:34)5.2 错误描述 错误信息:34行代码将用select * from book where bookId=?查询数据库,其中bookId代表列名,但book表中并没有名称为bookId的列。5.3 错误解决方法 将jspBook改为正确的表名,即将String sqlStr = select * from book where bookId=?;代码改为String sqlStr = select * from book where book_Id=?;6、Value can not be converted to requested type6.1 错误信息:Exception in thread main java.sql.S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论