`
itwayq
  • 浏览: 16883 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

java/sql/SQLClientInfoException

    博客分类:
  • JDBC
阅读更多
MySQL数据库连接:java/sql/SQLClientInfoException(2009-08-11 17:26:44)
转载标签:杂谈 分类:计算机技术
今天在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[color=green][/color]


     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版本!)替换了本机上的相应文件,再执行程序,就都没问题,成功了!
分享到:
评论
1 楼 hotsmile 2012-02-16  
我用了你的方法试过,错误依然,应该不是这个问题!!!

相关推荐

    asp.net/java/javascript/sql笔试题库(有答案)

    asp.net/java/javascript/sql笔试题库(有答案)

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...

    PL/SqlDeveloper汉化版

    虽然目前来看 PL/SQL Developer 的功能远不如 SQL Developer,但它是用纯 JAVA 开发的 ORACLE 数据库管理工具,所以可以比较轻松的支持跨操作系统平台使用,可以在非 windows OS 上使用。由于 PL/SQL Developer 在 ...

    Oracle PL/SQL programming(5th Edition)

    The new edition covers calls to Java methods from within PL/SQL programs, autonomous transactions, object type inheritance, and the new Timestamp and XMLType data types. There’s also more ...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    Oracle PL/SQL实例编程 Oracle PL/SQL实例编程 Oracle PL/SQL实例编程

    PL/SQL Developer 10

    plsqldev1001 oracle use tool

    PL/SQL详细教程

    PL/SQL教程PL/SQL教程PL/SQL教程PL/SQL教程PL/SQL教程PL/SQL教程PL/SQL教程PL/SQL教程

    PL/SQL 用户指南与参考

    PL/SQL 用户指南与参考 第一章 PL/SQL一览 第二章 PL/SQL基础 第三章 PL/SQL数据类型 第四章 PL/SQL的控制结构 第五章 PL/SQL集合与记录 第六章 PL/SQL与Oracle间交互 第七章 控制PL/SQL错误 第八章 PL/SQL...

    PL/SQL程序设计

    另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。可以将这两部分称为:数据库PL/SQL和工具PL/SQL。两者的编程非常相似。都具有编程结构、语法和逻辑机制。工具PL/SQL另外还增加了用于支持工具...

    Oracle PL/SQL程序设计(第5版)(上下册)

    Oracle PL/SQL程序设计(第5版)(上下册),《Oracle PL/SQL程序设计(第5版)》基于 Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、 PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细...

    PL/SQL 6.0 汉化版

    PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。  . PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有...

    PL/SQL Developer如何连接64位的Oracle图解

    在64位系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时就不能使用PL/SQL Developer来进行直接连接的,所以要想实现连接还得需要其他途径来完成。下面就来说明如何实现连接

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二)

     本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法...

    C++/Java/C#/SQL 面试题 答案

    C++ java C# SQL 面试题 答案 asp .net Oracle MySqL。绝对够全面。想要更多 邮箱hoho_w@yeah.net

    Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案

    原书名:Oracle 9i Java Programming &lt;br&gt;Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案 &lt;br&gt;【原出版社】 Wrox Press 【作 者】Bjarki Holm,John Carnell等 【译 者】 康博 【丛 ...

    oracle-plsql

    另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。称为工具PL/SQL 5、PL/SQL程序的运行是通过Oracle中的引擎来进行的,这个引擎可能在Oracle的服务器端,也可能在 Oracle 应用开发的客户端;...

    oracle pl/sql 实例精解(中文原书第4版)

    本书是一本逐步分解的,详尽的pl/sql编程教程,使用真实场景的试验、范例和练习来介绍读者所需的pl/sql编程技能,涵盖oracle 11g的最新特性。作者的写作手法源自于在哥伦比亚大学教授pl/sql编程技术的经验,深度...

    Oracle PL/SQL语言入门

    PL/SQL的出现正是为了解决这一问题,PL/SQL是一种过程化语言,属于第三代语言,它与C、 C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。本文主要介绍PL/SQL的编程基础,以使入门者对PL/SQL...

    Oracle PL/SQL 编程手册,chm

    Oracle PL/SQL 编程手册Oracle PL/SQL 编程手册

    Oracle9i PL/SQL程序设计

    权威PL/SQL语言参考书

Global site tag (gtag.js) - Google Analytics