小弟我最近才开始学习java,连接MySQL数据库时出现了点问题,在网上百度不到好的解答,望各位大哥不吝赐教!
我的源程序是:(很简单)
import java.sql.*;public class sql {
public static void main(String[] args) 
throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver loaded"); Connection connection = DriverManager.getConnection
("jdbc:mysql://localhost/test", "root", "zangrui");
System.out.println("Database connected"); connection.close();
}
}
提示的错误是:
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)
at sql.main(sql.java:9)
谢谢各位大哥了

解决方案 »

  1.   

    1 你的驱动也许太老了吧!换最新的看看!
    2 另外 SQLClientInfoException 是 JDK 6.0 才有的建议你先把JVM 换成 5.0.
      

  2.   

    http://dev.mysql.com/downloads/connector/j/5.1.html这里有最新的驱动
      

  3.   

    驱动以及jdk太老啦!
    建议换成最新的!
      

  4.   

    请问下你们怎么看出JDK版本和启动版本的..?
      

  5.   

    Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/SQLClientInfoException 
    这里可以看出来啊 ,这是老版本里面的类啊!
    新版本里面没有 SQLClientInfoException  这个类啊 ,好像已经不支持啦!
      

  6.   

    你的代码没有问题,思路也正确,最大可能就是驱动版本或者jdk版本老啦!
      

  7.   

    Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
    Connection conn= DriverManager.getConnection(url);尝试一下这个,另外程序在包mysql-connector-java-5.1.5-bin.jar下测试通过
    还有记得把mysql-connector-java-5.1.5-bin.jar这个驱动放到项目的WEB-INF/lib下