我写了一个小代码:
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)
请各位兄台帮小弟一个忙。看看怎么修改修改。我先表示感谢~
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)
请各位兄台帮小弟一个忙。看看怎么修改修改。我先表示感谢~
你的classpath定义了吗?
classpath里除了mysql-connector-java-5.1.6-bin.jar, 再加上tools.jar和dt.jar吧我测了一下上述代码,无论能不能连上,都没问题。
最后jar包的名字是我改的原来是:mysql-connector-java-5.1.6-bin.jar
如果说是tool.jar和dt.jar有问题。那么。我输出:helloworld这种小程序都应该不行。但是我试了能成功运行。
请各位高人。帮我检查一下我的classpath;上面的那个是我有ctrl+A加ctrl+c拷贝过来。没错
public class test{
public static void main(String args[]){
try{
String ur="jdbc:mysql://localhost:3306/test?user=root&password=123456";
//String user="root";
//String password="123456";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con=DriverManager.getConnection(ur);
System.out.println("success");
}
catch(Exception e){}
} }
问题应该出在你的path,即java.exe的路径。我虽然不知道你的运行命令的详细路径是怎么样的。你设置了以上的classpath以后,
set PATH="C:\Program Files\Java\jdk1.6.0\bin";%PATH%
然后,再java test
试试。你这个错误,显然是用低版本的jvm,高版本的jvm的classpath,导至jdk1.6中的SQLClientInfoException无法解析的错误。(这个类在1.5及以下版本是没有的)建议你密切关注环境变量,任何一种操作系统下边,环境变量都是非常基础非常重要的东西。