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

来源:互联网 发布:车牌识别软件 编辑:程序博客网 时间:2024/04/30 07:02

在myeclipse中连接mysql数据库出现这样的问题:

 

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)

 

 

解决思路是这样的:

根据错误提示的找不到类“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版本!)替换了本机上的相应文件,再执行程序,就都没问题,成功了!

 

我用的myeclipse6.0,也可以把设置使用的jdk为myelipse自己默认的jdk,这样也可以解决问题。

原创粉丝点击