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版本!)替换了本机上的相应文件,再执行程序,就都没问题,成功了!
分享到:
相关推荐
- **与Java和其他编程语言的集成**:探讨如何在Oracle数据库中使用Java存储过程,以及如何与其他外部系统进行交互。 #### 七、Oracle 11g新特性 - **新特性概述**:介绍Oracle 11g中引入的与PL/SQL相关的新增功能...
虽然目前来看 PL/SQL Developer 的功能远不如 SQL Developer,但它是用纯 JAVA 开发的 ORACLE 数据库管理工具,所以可以比较轻松的支持跨操作系统平台使用,可以在非 windows OS 上使用。由于 PL/SQL Developer 在 ...
PL/SQL Developer是一款由Allround Automations公司开发的集成开发环境(IDE),专门用于编写、测试和管理Oracle数据库的PL/SQL代码。本教程将深入介绍如何充分利用这款强大的工具,帮助初学者快速上手。 一、PL/...
plsqldev1001 oracle use tool
本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法...
除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql...
- **第10章**:PL/SQL与外部语言的交互,如Java和C。 - **第11章**:动态SQL的使用技巧。 4. **新特性章节** - **第12章**:Oracle Database 11g的新特性介绍。 - **第13章**:版本基于的重新定义能力。 - **第...
该工具提供了一个直观的用户界面,支持多种开发语言,包括 PL/SQL、SQL、Java 等。 2. 安装 安装 PL/SQL Developer 11 需要满足一定的系统需求,包括操作系统、处理器、内存和磁盘空间等。用户可以根据自己的需要...
Oracle数据库提供了Java存根(Java Stubs)和Java源代码(Java Source)功能,允许在PL/SQL中调用Java方法。这可能意味着这些示例中包含了一些如何在PL/SQL中嵌入Java代码,进行跨平台的数据库操作的例子。 总的来...
PL/SQL Developer是一款专为Oracle数据库开发人员设计的集成开发环境(IDE),它极大地简化了PL/SQL编程、调试和数据库管理任务。7.0版本是该软件的一个里程碑,提供了许多增强的功能和改进,旨在提高开发效率和代码...
java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作...
原书名:Oracle 9i Java Programming <br>Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案 <br>【原出版社】 Wrox Press 【作 者】Bjarki Holm,John Carnell等 【译 者】 康博 【丛 ...
另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。称为工具PL/SQL 5、PL/SQL程序的运行是通过Oracle中的引擎来进行的,这个引擎可能在Oracle的服务器端,也可能在 Oracle 应用开发的客户端;...
Oracle PL/SQL 编程手册Oracle PL/SQL 编程手册
【标题】"Java中Oracle Database 10g PL/SQL入门教程"的描述涉及了学习Java编程语言,并特别提到了Oracle Database 10g的PL/SQL编程。Oracle Database 10g是一款关系型数据库管理系统,广泛应用于企业级数据存储和...
1. **嵌入Java代码**:Oracle的PL/SQL支持嵌入Java代码,使得我们可以利用Java的强大库,比如Apache POI,来处理Excel文件。POI是一个开源的API,专门用来读写Microsoft Office格式的文件,包括Excel。通过PL/SQL...
PL/SQL Developer是一种集成的开发环境,专门用于开发、测试、调试和优化Oracle PL/SQL存储程序单元,比如触发器等。PL/SQL Developer功能十分全面,大大缩短了程序员的开发周期。强大的PL/SQL编辑器,完善的Debugger...
《oracle pl/sql程序设计(第5版)(上下册)》基于oracle数据库11g,从pl/sql编程、pl/sql程序结构、pl/sql程序数据、pl/sql中的sql、pl/sql应用构建、高级pl/sql主题这6个方面详细系统地讨论了pl/sql以及如何有效地...
这部分内容可能涉及JDBC驱动的分类、连接池的配置、以及如何通过Java代码执行SQL和PL/SQL语句。 《Oracle 8i PL/SQL 秘籍》不仅是入门者步入Oracle世界的敲门砖,也是专业人士巩固基础知识、提升技能的实用手册。书...
`sqljdbc41`和`sqljdbc42`是微软提供的Java数据库连接(JDBC)驱动,它们使得Java应用程序能够与SQL Server进行通信。 首先,我们来了解一下JDBC驱动。JDBC是Java语言中用来规范客户端程序如何连接到数据库的应用...