2016-05-25 7 views
1

コンピュータが稼動しているのと同じデバイス上のWAMPサーバー上のデータベースに接続しようとしています。以下は、zetcodeに関するチュートリアルのコードです。 SQLログインの詳細を除いて、私はそれをほぼ完全にコピーしました。エラーが表示され、コードの下に表示されます。私は受け付けておりDriverManagerを使用してWAMPでJavaにMySQLを接続してください

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

import com.sun.corba.se.impl.util.Version; 

public class TestDb { 

public static void main(String[] args) { 
    Connection con = null; 
    Statement st = null; 
    ResultSet rs = null; 
    String url = "jdbc:mysql://localhost:3306/mltest"; 
    String user = "mlcomponents"; 
    String password = "color12"; 
    try { 
     con = DriverManager.getConnection(url, user, password); 
     st = con.createStatement(); 
     rs = st.executeQuery("SELECT VERSION()"); 

     if (rs.next()) { 
      System.out.println(rs.getString(1)); 
     } 

    } catch (SQLException ex) { 
     Logger lgr = Logger.getLogger(Version.class.getName()); 
     lgr.log(Level.SEVERE, ex.getMessage(), ex); 

    } finally { 
     try { 
      if (rs != null) { 
       rs.close(); 
      } 
      if (st != null) { 
       st.close(); 
      } 
      if (con != null) { 
       con.close(); 
      } 

     } catch (SQLException ex) { 
      Logger lgr = Logger.getLogger(Version.class.getName()); 
      lgr.log(Level.WARNING, ex.getMessage(), ex); 
     } 
    } 
} 
} 

エラーメッセージ:

May 25, 2016 3:51:28 PM TestDb main 
SEVERE: No suitable driver found for jdbc:mysql://localhost:3306/mltest 
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mltest 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at TestDb.main(TestDb.java:21) 

答えて

1

は、私が最初にこれを実行しようと、以前と同じ問題に直面した:

Class.forName("com.mysql.jdbc.Driver"); 

これは、それ自体を登録するドライバーを行います。

ドライブマネージャーの詳細については、MySQL Connectorを確認してください。前のリンクから

あなたは、アプリケーション・サーバーの外でJDBCを使用している、DriverManagerクラスは、接続の確立を管理します。 DriverManagerに接続を試みるJDBCドライバを指定します。これを行う最も簡単な方法は、java.sql.Driverインターフェイスを実装するクラスでClass.forName()を使用することです。

編集:私はあなたの2番目の質問に基づいて(ローカルホストで)MySQLへ接続することができますMySQLConnectorと呼ばれるJavaクラスを追加しています。私はのjava.sql.DriverManagerの

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

public class MySQLConnector { 
    //JDBC driver name and database URL 
    private String JDBC_DRIVER; 
    private String DB_URL; 
    //Database credentials 
    private String USER; 
    private String PASS; 
    private Connection conn; 

    public MySQLConnector(){ 
     JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
     DB_URL = "jdbc:mysql://localhost/db_name?useUnicode=yes&characterEncoding=UTF-8"; 
     USER = "root"; 
     PASS = "123"; 
     conn = null; 
    } 
    public void openConnection(){ 
     try{ 
      //Register JDBC driver 
      Class.forName(JDBC_DRIVER);   
      //Open a connection 
      System.out.print("Connecting to a selected database... "); 
      conn = DriverManager.getConnection(DB_URL, USER, PASS); 
      System.out.println("Success!");  
     }catch(Exception e){ 
      //Handle errors for JDBC 
      e.printStackTrace(); 
     } 
    } 
    public void closeConnection(){ 
     try{ 
      if(conn!=null) 
      conn.close(); 
     }catch(SQLException se){ 
      se.printStackTrace(); 
     } 
     System.out.println("Connection closed"); 
    } 
    public Connection getConnection(){ 
     return conn; 
    } 
} 
+0

のみ接続を行うためのもので、上記の機能を追加しますねえ、私は今、クラスが見つからない例外を取得しています、私はウェブサイトからそのフォルダへのzipフォルダから.jarファイルを入れていますJavaクラスのパスポイントも、この例外が発生しています:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver – bloopiebloopie

+0

@bloopiebloopie IDEを使用していますか日食のような?インポート時にエラーが発生しましたか?私はClassNotFoundExceptionのすべての場合について説明することはできません、ここを見てください:http://stackoverflow.com/questions/17408769/how-do-i-resolve-this-java-class-not-found-exception 私は持っている私の質問が更新され、MySql接続が表示されます。 – jsurf

+0

@bloopiebloopieクラスの問題を解決できましたか? – jsurf

1

まずインポートする方法を参照してください。すべて、あなたはまた、接続を行い、このコードを使用して、あなたのWAMPログインのユーザ名とパスワードを提供するために、別のクラスを必要といけないから、あなたのPC上WAMPをを開始このコードは自分で

public class Jdbcdemo { 

    public static void main(String[] args) { 
     try 
     { 
      //loading the jdbc driver 
      Class.forName("com.mysql.jdbc.Driver").newInstance(); 
      //get a connection to database 
      Connection myConn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbctry","your username","your password"); 
      //create a statement 
      Statement stmt=myConn.createStatement(); 
      //execute sql query 
      ResultSet rs=stmt.executeQuery("select * from employee"); 
      //process the result 
      while(rs.next()) 
      { 
       System.out.println(rs.getString("name")+" = "+rs.getString(1)); 
      }   
     } 
     catch(SQLException e) 
     { 
      System.out.println(e); 
     } 
     catch(Exception e) 
     { 
      System.out.println(e); 
     } 
    } 

} 
+0

こんにちはvibhor、コードは完全に働いた。私はサーバーへの接続と、インポートされたJARファイルを正しく使用していて、私が大盛り上がったことにいくつか問題がありました。コードにもう一度感謝します。 – bloopiebloopie

関連する問題