我写了一个小代码:
import java.sql.*;
public class test{
public static void main(String args[]){
try{
    String ur="jdbc:mysql://localhost:3306/test"; 
    String user="root"; 
    String password="123456"; 
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Connection con=DriverManager.getConnection(ur,user,password);
    System.out.println("success");
}
catch(Exception e){}
}}
注:jdk环境设置没问题;mysql-connector-java-5.1.6-bin.jar,也在我的classpath中。
    mysql服务器处于启动状态,没问题。3306端口处于监听状态。我的想连接装数据时候自动装上的那个test数据库。
    我的用户明:root 密码:123456.我登陆过。密码和用户都没问题;
环境:jdk1.6+mysql6.0;这个代码编译没问题:运行的时候提示: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.ConnectionImpI.<clinit><ConnectionImpl.java:213>
 at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
 at java.sql.DirverManager.getConnection(Unknown Source)
 at java.sql.DirverManager.getConnection(Unknown Source
 at test.main(test.java:12)
请各位兄台帮小弟一个忙。看看怎么修改修改。我先表示感谢~

解决方案 »

  1.   

    catch(Exception e){}中吧异常抛出来看看,还有试试换个jar试试
      

  2.   

    是不是mysql中没有test这个数据库还有,建议换一个数据库连接文件jar
      

  3.   

    在我的机器上运行这段代码没有问题,是不是mysql-connector-java-5.1.6-bin.jar,有添加到classpath时没有成功?
      

  4.   

    其一:test数据库有,这我肯定。用show databases就可一检验。
    其二:.;C:\Program Files\Java\jdk1.6.0\lib\tools.jar;C:\Program Files\Java\jdk1.6.0\lib\dt.jar;C:\Program Files\Java\jdk1.6.0\lib\mysql.jar
    这是我的classpath.最后一个mysql.jar 是我改的名字。原来的名字是:mysql-connector-java-5.1.6-bin.jar
    减压有有:com\mysql\jdbc..这样的目录结构。也表明存在一个包的层次结构。当然同时也有这么目录结构org\gjt\mm\mysql\Driver.class.
    请高手们给我看看我的classpath可设对否?
      

  5.   

    明显没找到SQLClientInfoException 这个类了..是在mysql.jar当中吗??
      

  6.   

    看来是环境变量设置问题。
    那 OK
    现在如果是你要运行这段代码。先什么IDE 工具都别用。我也没用。你的classpath会设置什么。
    我就在标准的JDK环境变量里面加上了mysql.jar的目录;
    这是我的classpath变量:.;C:\Program Files\Java\jdk1.6.0\lib\dt.jar;C:\Program Files\Java\jdk1.6.0\lib\tools.jar;C:\Program Files\Java\jdk1.6.0\lib\mysql.jar
    很明显就在以前的基础上多了一个mysql.jar目录。而这个mysql.jar目录正是:mysql-connector-java-5.1.6-bin.jar。只是我觉得名字太长。我改为mysql.jar而已
    我都很纳闷别人运行没问题。可我运行有问题。编译是没问题能通过。是不是我的classpath少设置了什么目录???
      

  7.   

    把連接字符串中的localhost改為本機IP試試
      

  8.   

    给你介绍一下一个IDE吧,那就是Myeclipse 6.0啦,你可到myeclipse官方网下来,可以在装了jdk1.5以上的机子上,安装Myeclipse 6.0呀,之后呢,就可以对于数据库的网络进行连接测试啦,对于mysql-connection-java-1.5.jar你可以进行配置啦,之后呢,就可以进行databases进行设定啦,之后,对于结果就一目了然啦,相当经典啦!没有任何难度啦!
      

  9.   

    去这里看看吧
    http://topic.csdn.net/u/20071231/15/dc83e5e3-781f-48e7-ae39-3b9c200c4bb9.html
      

  10.   

    在各位兄台的帮助下,在我个人的努力下:
    问题解决了:
    环境变量有问题:错。
    没有数据库test:错。
    把連接字符串中的localhost改為本機IP試試:也不是这个原因;真的错误是:我用的驱动版本高了。换成:mysql-connector-java-5.0.8.zip+ jdk1.6
    肯定让君一路畅通。不能用:mysql-connector-java-5.1.6.tar.gz
    再次对所有回复帖子的兄台表示衷心的感谢。并祝福你们的 IT之路一路顺风。
      

  11.   

    怎么是版本高了呢?
    你不是mysql6.0吗?