`
huangningren
  • 浏览: 44528 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

MySQL数据库连接:java/sql/SQLClientInfoException

阅读更多
今天在Java+Eclipse平台是试验MySQL数据库连接时出现了无法连接的异常,具体提示的错误如下:

Driver loaded    //有这一句输出,应该是Driver找到了吧!
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/SQLClientInfoException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.mysql.jdbc.ConnectionImpl. <clinit>(ConnectionImpl.java:213)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)





网络上也有相关的JSP连接MySQL数据库出现异常的情况,大概的错误如下所示:

javax.servlet.ServletException: java/sql/SQLClientInfoException
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:673)
org.apache.jsp.sss_jsp._jspService(sss_jsp.java:128)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)




写的数据库连接源代码类似:

public static void main(String[] args) {

  Connection con;

  try {

   

     Class.forName("com.mysql.jdbc.Driver"); // 方式1

     // Class.forName("com.mysql.jdbc.Driver").newInstance();//方式2

     // Class.forName("org.gjt.mm.mysql.Driver");//方式3:为了兼容旧的MySQL

     // Class.forName("org.gjt.mm.mysql.Driver").newInstance();//方式4:为了兼容旧的MySQL



   

     // DriverManager.registerDriver(new com.mysql.jdbc.Driver());//方式1

     // DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());//方式2



     System.out.println("-->MySQL数据库驱动加载成功!");// 测试到哪里出现异常!



   

   

     String dbUrl = "jdbc:mysql://localhost:3306/testdb";

     // String dbUrl = "jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=GB2312";

     String dbUser = "root"; // 用户名

     String dbPwd = "root123"; // 密码

     con = java.sql.DriverManager.getConnection(dbUrl, dbUser, dbPwd);// 建立数据库连接



   

     // String dbUrl="jdbc:mysql://localhost:3306/mysql?user=root&password=root123";

      // // String

      // dbUrl="jdbc:mysql://localhost:3306/mysql?user=root&password=root123&useUnicode=true&characterEncoding=gb2312";

      // con = DriverManager.getConnection(dbUrl);



      System.out.println("已经成功连接上MySQL数据库'testdb'......\n"

                              + con.toString());

} catch (ClassNotFoundException ex) {

    // TODO Auto-generated catch block

    ex.printStackTrace();

} catch (SQLException ex) {

    // TODO Auto-generated catch block

    ex.printStackTrace();

}

}




我使用的MySQL数据库驱动包为:mysql-connector-java-5.1.5-bin.jar,JDK的版本为:“java version "1.6.0-rc-b66"”。

错误解决的思路是:根据错误提示的找不到类“java/sql/SQLClientInfoException”信息,首先确认该JDK版本是否有SQLClientInfoException类(根据网络上的介绍,此类别要JDK6以上版本才有!)。虽然JDK6-API中是有该类文件,但不见得您机器上安装的JDK6就有该文件(JDK6以下的版本更不可能有该类别了),一个便捷的确认方式是到您机器上的JDK安装路径下,查看“\src.zip”源文件包中路径"java/sql/"下是否有源文件“SQLClientInfoException.java”如果没有,那则说明你装的JDK中没有该类文件(以本人机器上的JDK为例,虽然是1.6版本【“java version "1.6.0-rc-b66"”】,但就是没有该类文件),因此,在进行数据库连接时老是出现“java/sql/SQLClientInfoException”相关的异常!我拷贝一个较高版本的“%JAVA_HOME%/jrelib/rt.jar”文件(含有"java/sql/SQLClientInfoException"类文件的JDK版本!)替换了本机上的相应文件,再执行程序,就都没问题,成功了!
分享到:
评论

相关推荐

    各种数据库驱动程序 mysql数据库/sqlserver数据库/oracle数据库/sqlserver数据库(JTDS)驱动总结

    本文将对MySQL数据库、SQL Server数据库、Oracle数据库以及使用JTDS驱动的SQL Server数据库进行深入探讨。 #### MySQL数据库驱动 MySQL是全球广泛使用的开源关系型数据库系统之一。为了使Java应用程序能够连接到...

    Jsp JDBC连接MsSQL/MYSQL/Oracle各种数据库代码集.rar

    Jsp JDBC连接MsSQL/MYSQL/Oracle各种数据库代码集,采用多种方式连接各种常用的数据库:  1.连接ACCESS  http://127.0.0.1:8080/Access/access.jsp    2.连接SQL Server2000  ...

    各种数据库的连接和指导

    #### MySQL数据库连接 MySQL是最流行的开源关系型数据库之一。在Java中连接MySQL数据库通常采用JDBC技术。以下是一种常见的连接方式: ```java String driver = "com.mysql.jdbc.Driver"; // 驱动程序 String url ...

    jdbc接连数据库:oracle/derby/mysql

    在文件列表中的`driver_lib`可能包含了这三种数据库对应的JDBC驱动库,它们是Java应用程序与数据库连接所必需的。在Java项目中,这些驱动库通常会被打包到项目的类路径(classpath)中,以便程序运行时能够正确地...

    JSP通过JDBC驱动各种数据库方法

    JSP通过JDBC驱动各种数据库方法本程序采用多种方式连接各种常用的数据库:1.连接ACCESS http://127.0.0.1:8080/Access/access.jsp2.连接SQL Server2000 ...

    JDBC:Java连接MySQL数据库(优化版)

    不直接把数据库连接信息写在程序里,而是单独使用一个properties(也就是mysql.ini)文件,来保存数据库连接信息另外,连接数据库和向数据库添加数据操作可以进行方法封装。 在目录创建配置文件: info.properties...

    mysql数据库驱动:mysql-connector-java-6.0.5.jar

    MySQL数据库驱动程序是Java应用程序与MySQL数据库之间通信的桥梁,主要功能是提供API接口,使得开发者可以使用Java语言编写程序来执行SQL语句,进行数据的读取、写入和其他数据库操作。`mysql-connector-java-6.0.5....

    项目案例-java小区门户网站

    【项目案例】-java小区门户网站运行环境:jdk1.5数据库:mysql5服务器:tomcat5.0.28以上mysql数据库脚本:jspsqwl.sql采用jdbc数据源连接方式,数据库用户名:root 密码:123将"运行文件"文件夹下的目录放在tomcat下...

    EFcore连接本地Mysql数据库使用ASP.NET.CORE.API

    1.实现EFcore连接本地Mysql数据库 2.最新版本的ASP.NET.CORE.Web API 3.实现dbfrist和code 。 4.博客链接:https://blog.csdn.net/EAyayaya/article/details/124048491 5. 不是MVC方式 6.Entity Framework Core ...

    JAVA小区门户网站(源代码+论文)

    mysql数据库脚本:jspsqwl.sql 采用jdbc数据源连接方式,数据库用户名:root 密码:123 将"运行文件"文件夹下的目录放在tomcat下的webapps文件夹下 启动数据库,启动tomcat服务器 在IE中输入:...

    mysql-connector-java-8.0.19.zip驱动下载window和liux

    MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J是MySQL官方提供的用于Java应用程序与MySQL数据库之间连接的...在实际开发中,根据项目需求,还可以利用JDBC连接池管理多个数据库连接,提高应用性能。

    mysqlJDBC驱动包和连接程序

    MySQL JDBC驱动,也被称为Connector/J,是MySQL官方提供的Java数据库连接器,它实现了Java的JDBC接口,使得Java应用程序能够无缝地连接到MySQL数据库。MySQL JDBC驱动分为两种类型:非类型4(Type 3)和类型4(Type ...

    matlab访问mysql数据库教程及代码

    其中,conn 是数据库连接对象,'select * from table1' 是要执行的 SQL 语句。 接下来,可以使用 fetch 函数来获取查询结果: curs = fetch(curs) 最后,可以使用 data 属性来获取查询结果: cur = curs.data ...

    MySQL java驱动包mysql-connector-java-5.1.45

    `mysql-connector-java-5.1.45`是MySQL官方提供的Java数据库连接器,它使得Java应用程序能够连接到MySQL服务器,执行SQL语句并处理结果。这个驱动包是Java开发者在开发过程中不可或缺的工具,特别是在Android平台上...

    Java连接Mysql数据库代码.zip

    2. JDBC驱动:Java Database Connectivity (JDBC) 是Java平台的标准接口,用于连接各种数据库。对于MySQL,我们需要MySQL Connector/J,它是MySQL的官方JDBC驱动。 接下来,我们讲解如何在Java中建立数据库连接: 1...

    JAVA数据库大全.pdf

    JAVA数据库连接的主要作用是提供了一个统一的接口,使开发人员可以使用Java语言来访问不同的数据库管理系统,例如Oracle、DB2、SqlServer、Sybase、Informix、MySQL、PostgreSQL等。通过JDBC,可以实现数据库的连接...

    Linxu下Java连接MySQL数据库

    文件`sqlConnect.java`和`mysqlConnect.java`可能包含了建立数据库连接的代码。以下是一个简单的示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; ...

    day14_结构化数据库代码_以mysql为例_包含db.properties,JdbcUtils.java等

    JDBC是Java语言访问数据库的标准接口,提供了一系列的API用于建立、执行SQL语句以及管理数据库连接。JdbcUtils类通常会封装以下功能: 1. **数据库连接的获取和释放**:通过`Class.forName()`加载数据库驱动,然后...

    PHPNoW和JDBC数据库驱动包和类名

    1)驱动包:https://mvnrepository.com/artifact/mysql/mysql-connector-java(下载路径) 2)驱动类名:com.mysql.jdbc.Driver 3)JDBC的URL:jdbc:mysql://IP地址:端口号/数据库名字 注:端口号缺省为:...

Global site tag (gtag.js) - Google Analytics