2016-11-02 9 views
-1

javaのmysqlへの接続を作成しようとしています。私はメインでそれを行うとき それは問題なく動作しますが、私はそのリターンApacheのエラーを使用する場合: 修正方法:「jdbc:mysql:// localhost/dbnameに適切なドライバが見つかりません」エラー

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/database_name.. 

iは一見似質問を読み、それらの noneが私を助けます。

私はJDBCドライバJDK 8とJDBC 5. を使用するには、プロジェクトのlibに見つけて、私はそれを含むビルド・パス で、これは私のコードです:

// JDBC driver name and database URL 
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
    static final String DB_URL = "jdbc:mysql://localhost:3306/program1"; 

    // Database credentials 
    static final String USER = "user"; 
    static final String PASS = "pass"; 

    private static Connection conn = null; 


    /* 
    * Create connection to the DB in singletone 
    * */ 
    protected static Connection getConnection() throws ClassNotFoundException, SQLException 
    { 
      if(conn==null) 
      { 
       try 
       { 
        // Register JDBC driver 
        //Class.forName(JDBC_DRIVER); 

        // Open connection 
        conn = DriverManager.getConnection(DB_URL,USER,PASS); 
       } 
       catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
        if(conn != null) 
         conn.close(); 
       } 
      } 

     return conn; 
    } 

瞬間にデバッグを実行します"conn = DriverManager.getConnection(DB_URL,USER,PASS);"行が例外となります。

このエラーの原因は何ですか?なぜ私はそれをメインから実行するのですか?

+1

クラスパスは、通常 – Drew

+0

それは完全にあなたが何をしているかに依存します。サーブレットエンジン、Eclipse、デバッグ、リリース、 'web-inf/lib' ... – Drew

+0

私はサーブレットエンジンを使用していますが、デバッグではサーブレットが呼び出されることがわかりますが、問題はDriverManager.getConnectionにあります。 –

答えて

1

あなたはmysqlConnectorをダウンロードする必要があります。また、あなたのプロジェクトにはlibとして追加する必要があります。

https://dev.mysql.com/downloads/connector/j/

+0

jdbcと私はそれをダウンロードし、プロジェクトとビルドパスに追加します –

関連する問題