2012-03-19 5 views
1

mySQLデータベースの接続に問題があります。私はエラーを取得しています:JavaプログラムとmySQL接続の問題:適切なドライバが見つかりません

No suitable driver found for jdbc:mysql://127.0.0.1/sakila.

私はmysqlの-コネクタのjava-5.1.18-ビンを保存し、クラスパスを設定したMySQLのワークベンチを設置し、ここで http://dev.mysql.com/downloads/connector/j/

からドライバを持っています〜

C:¥Program Files¥Java¥jre7¥lib¥mysql-connector-java-5.1.18-bin;

データベースが見つかったmysqlワークベンチを開始しました。

私が使用しているコードは次のとおりです:私は確かに動作します。残念ながら、私たちはさまざまなプラットフォームで開発しており、このエラーの修正方法を教えてくれませんでした。どのように私はこれを修正することができますか誰に考えている?

public class Version { 

public static void main(String[] args) { 

    Connection con = null; 
    Statement st = null; 
    ResultSet rs = null; 

    String url = "jdbc:mysql://127.0.0.1/sakila"; 
    //String url = "jdbc:mysql://localhost:3306/sakila"; 
    String user = "root"; 
    String password = "root"; 


    try { 


     con = DriverManager.getConnection(url, user, password); 
     st = con.createStatement(); 
     rs = st.executeQuery("select * from actor;"); 

     System.out.println("test"); 

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

    } catch (Exception ex) { 
     System.out.println(ex); 
} 
} 

}

EDIT:問題sovled。 binファイルの末尾に.jarを付ける必要はありませんでした。あなたのclasspathまたは...\jre1.6.0\lib\ext

Classpath is the one you should favor instead of the latter 
+0

あなたがクラスパスを設定する方法を指定することはできますか? [この記事](http://stackoverflow.com/questions/2386372/how-to-set-the-system-environment-classpath-variable-in-windows-7)は、設定方法に関するヒントを与えるかもしれません。 "Program Files"に空白があるため、エントリの周りに引用符を入れます – sgmorrison

+0

"mysql-connector-java-5.1.18-bin"のjar拡張子は使用しないでください。 – hovanessyan

+0

thats .sbinファイルは、Windowsファイル記述子ではTYPE jarですが、.jarではありません。 – BodhiByte

答えて

0

は、右のライン「CON =したDriverManager.getConnection(urlには、ユーザーの前に次の

String driver = "com.mysql.jdbc.Driver"; 
Class.forName(driver).newInstance(); 

を追加しますパスワード);"

あなたがする必要があることは、drivermanagerから接続を取得する前にドライバクラスをロードすることだけです。

+0

私はすでに元の投稿で言及したようにクラスパスを設定しました! – BodhiByte

1

Plzをするコネクタのjarファイルを配置する必要があり

+0

こんにちは、提案していただきありがとうございます。私は今クラスを取得していない例外が見つかりました – BodhiByte

+0

クラスパスでは、JARファイル名(つまりC:¥Program Files¥Java¥jre7¥lib¥mysql-connector-java-5.1.18-bin¥)までの絶対パスを設定する必要があります.jar。 – htulsiani

+0

jarファイルにドライバがダウンロードされていません。あなたが見たい場合は、ドライバダウンロードページへのリンクを掲載しました。 – BodhiByte

0

MySQLコネクタライブラリjar fileを、それが含まれているディレクトリではなくクラスパスに追加する必要があります。

NetbeansやEclipseのようなIDEを使用していませんか?セットアップ、Windowsのコマンドライン開発環境は難しいことではありませんが、それはどちらか簡単ではないのです

+0

JARファイルとはどういう意味ですか?これはクラスパスに設定した.binファイルのファイルタイプです。私はこのプロジェクトにeclipseやnetbeansを使用していません。 – BodhiByte

+0

mysql-connector-java-5.1.18-binの中身は何ですか? – Joni

+0

これは決して開きません。あなたが見たい場合は、ダウンロードしたドライバへのリンクを投稿しました。 – BodhiByte

1

あなたはのgetConnectionを呼び出す前に、ドライバをインスタンス化する必要があります。

String pdriver = "com.mysql.jdbc.Driver"; 
Class.forName(pdriver).newInstance(); 
+0

こんにちは、提案のおかげで、今は例外が見つかりませんクラスを取得しています! – BodhiByte

+0

jarライブラリをクラスパスに追加する必要があります。 Eclipseを使用している場合:パスを作成します。 – aleroot

関連する問題