Jcreator:4.5 Pro开发;mysql-connector-java-5.1.7-bin.jar放在C:\Program Files\Java\jre6\lib\ext中而且在classpath中:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\mysql-connector-java-5.1.7\mysql-connector-java-5.1.7-bin.jar;
Mysql:登陆用户root,密码mysql,数据库aspnet,其中的表msg:
程序代码如下:
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySqlDemo {    public MySqlDemo() {
    }
    public static void main (String[] args)throws SQLException {
    
     String Url="jdbc:mysql://localhost:3306/msg?user=root&password=mysql";
     Connection conn;
     Statement ment;
     ResultSet set;
     try{
     Class.forName("com.mysql.jdbc.Driver");
    
     }catch(ClassNotFoundException ex)
     {
     ex.printStackTrace();
     }
    
     conn=DriverManager.getConnection(Url);
     ment=conn.createStatement();
     set=ment.executeQuery("select * from msg");
     try{
     while(set.next())
     {
     String city=set.getString(3);
     System.out.println(city);
     }
     }catch(Exception ex)
     {
     ex.printStackTrace();
     }
    
    
    编译没有错误;但是一执行就出现下面信息:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at MySqlDemo.main(MySqlDemo.java:24)
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/msg?user=root&password=mysql
    at java.sql.DriverManager.getConnection(DriverManager.java:602)
    at java.sql.DriverManager.getConnection(DriverManager.java:207)
    at MySqlDemo.main(MySqlDemo.java:31)
请高手指点
或者给出java连接mysql的具体步骤,有可以执行代码更好。

解决方案 »

  1.   

    url有问题吧 
    No suitable driver found for jdbc:mysql://localhost:3306/msg?user=root&password=mysql 
    public MySqlDemo() { static{
     try{ 
        Class.forName("com.mysql.jdbc.Driver");
        }catch(ClassNotFoundException ex) 
        { 
        ex.printStackTrace(); 
        } }
    public static Connection getConnection(){
      String url = "jdbc:mysql://localhost:3306/msg";
      String usr = "root":
      String password = "mysql";
      return DriverManager.getConnection(url,usr,password);
    }
        public static void main (String[] args)throws SQLException { 
       
        Connection conn = null; 
        Statement ment = null; 
        ResultSet set = null; 
      try{  
          conn=getConnection(); 
          ment=conn.createStatement(); 
          set=ment.executeQuery("select * from msg"); 
         
         while(set.next()) 
         { 
           String city=set.getString(3); 
           System.out.println(city); 
        } 
        }catch(Exception ex) { 
           ex.printStackTrace(); 
        } finally{
           set.close();
           ment.close();
        conn.close();
    }
        
      

  2.   

    3306后面是数据库名,不是表名
    Url =“mysql://localhost:3306/aspnet”
    conn = DriverManager.getConnection(jdbcUrl, "root", "mysql");
      

  3.   

    显然是驱动加载问题!java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 这条信息都打印出来了,说明驱动加载失败了。因为楼主在驱动加载失败(即ClassNotFoundException异常抛出)后,还继续试图建立连接,所以才有第二个异常的抛出:java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/msg?user=root&password=mysql
      

  4.   

    确定一下mysql的驱动包的路径是否已经配置好了
      

  5.   

    public MySqlDemo() { static{ 
    try{ 
        Class.forName("com.mysql.jdbc.Driver"); 
        }catch(ClassNotFoundException ex) 
        { 
        ex.printStackTrace(); 
        } } 
    public static Connection getConnection(){ 
      String url = "jdbc:mysql://localhost:3306/aspnet"; 
      String usr = "root": 
      String password = "mysql"; 
      return DriverManager.getConnection(url,usr,password); 

        public static void main (String[] args)throws SQLException { 
      
        Connection conn = null; 
        Statement ment = null; 
        ResultSet set = null; 
      try{  
          conn=getConnection(); 
          ment=conn.createStatement(); 
          set=ment.executeQuery("select * from msg"); 
        
        while(set.next()) 
        { 
          String city=set.getString(3); 
          System.out.println(city); 
        } 
        }catch(Exception ex) { 
          ex.printStackTrace(); 
        } finally{ 
          set.close(); 
          ment.close(); 
        conn.close(); 

        
      

  6.   

    驱动有没放在正确路径?还有那个url怎么看上去有点怪异,还没有试过加表名在前面呢,可以这样用吗?
      

  7.   

    LZ的问题我以前也碰到过。是mysql的驱动没有加进去,
    classpath: C:\mysql-connector-java-5.1.7\mysql-connector-java-5.1.7-bin.jar; 
    路径太长,识别不了!系统识别不了这么长的文件名,可以改为:c:\mysql\mysqljdbc.jar就行了
    还有就是建议LZ把url分开写,写成url,user,password这样好点,以后修改方便点
    可以参考1楼的做法!
    个人建议LZ试着学会用eclipse开发环境,这样就不需要设置环境变量了,
    用IDE更便于单个项目管理
      

  8.   

    驱动加载问题失败:
    问题可能是你的MySql数据库版本和驱动包mysql-connector-java-5.1.7-bin.jar不一致。
      

  9.   

    经常出现的驱动连接问题一般都是:
           1、数据库与驱动版本不兼容(有时候找不到原因是,就是它了)
           2、路径问题      (一般的ClassNotFoundException原因都是找不到文件、没有引入包、或是引用和声明不一致……)
      

  10.   

    直接把驱动包搁项目底下lib里url也有问题,数据库名
      

  11.   

    mysql-connector-java
    这个jar包 你引入到工程中了吗?
      

  12.   

    在工程上右键-Build Path-Add External Archives-选择MySQL驱动
      

  13.   

    Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/msg?user=root&password=mysql
    -------------------------是URL的问题了
      

  14.   

      我给你说吧  你看你的驱动包有没有安装好  然后貌似你没有把数据库连接进去  忘了 你看你的SQL版本正确不(sql2000)?如果是8.00.194就不行。就要安装补丁。我想你应该会看sql的版本吧。这是你的代码  String Url="jdbc:mysql://localhost:3306/msg?user=root&password=mysql"; 
    你的数据库是aspnet 你连接数据库里那个数据库么?