[前][次][番号順一覧][スレッド一覧]

mysql:11867

From: Tetsuro IKEDA <Tetsuro IKEDA <tetsuro@xxxxxxxxxx>>
Date: Tue, 02 Aug 2005 11:56:09 -0700
Subject: [mysql 11867] Re: JDBCでMysqlコネクトできません

池田です。

以下にかかれているソースコードを私の環境で走らせたら接続できました。

エラーメッセージ"Driver not found for URL"ですが、これは
Driverクラスが見つからないことを意味しています。

私の環境で同じコードが動いたことからも分かりますように、
やはりCLASSPATHその他環境面での設定不足があるのではないでしょうか。

またGRANT文ですが、

GRANT select ON ATMARKIT TO root@localhost IDENTIFIED BY 'pass';

これだと「現在接続中のデータベースの"ATMARKIT"テーブルに対する権限設定」
という意味になります。GRANT文実行後にエラーがでていませんでしたか?
(ATMARKITテーブルが実際にあるのでしたら済みません)

相良 しの wrote:
> ご指摘有難う御座います。
> 
> Class.forNameを使用し、
> .bash_profileの中のCLASSPATHの記述を以下のように追記して
> export 
> CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:/root/java/mysql-connector-java-3.0.6-stable-bin.jar 
> 
> 
> しました。
> 
> # javac  MyJdbcTester.java
> でコンパイルエラーなし
> 
> # java  MyJdbcTester
> で
> 
> 接続失敗です???
> 理由:java.sql.SQLException: Driver not found for URL: 
> jdbc:mysql://127.0.0.1/ATMARKIT?user=root&password=pass
> 
> となり、Driverがないというエラーはなくなったようです。
> 
> ソースは以下のように修正致しました。
> URLがないというエラーがでるのですが、これは、DriverManager.getConnection 
> ()の
> ところで、ソースの記述がおかしいのでしょうか、それとも。MysqlのGRANTの仕 
> 方が
> おかしいのでしょうか。
> 
> JDBCコネクターの中にあったREADMEには、
> 
> A simple connection example looks like:
> 
>        Class.forName("com.mysql.jdbc.Driver").newInstance();
> 
>        java.sql.Connection conn;
> 
>        conn = DriverManager.getConnection(
>                "jdbc:mysql://localhost/test?user=blah&password=blah");
> と書いてあり。いろいろ真似てみたのですが、うまくいきません。
> 
> Mysqlは
> GRANT select ON ATMARKIT TO root@localhost IDENTIFIED BY 'pass';
> と
> GRANT select ON ATMARKIT TO root@xxxxxxxxxx IDENTIFIED BY 'pass';
> はしました。
> 
> ご教授お願い致します。
> 
> 
> 
> // MyJdbcTester.java
> 
> import java.net.*;
> import java.sql.*;
> import java.io.*;
> 
> public class MyJdbcTester {
>    public static void main (String args []){
>     
>     // 接続情報をセットします。
>         String server   = "127.0.0.1"; //MySQLサーバ
>     //    String server   = ""; //MySQLサーバ
>     String user     = "root";
>     String password = "pass";
>     String database = "ATMARKIT";
>     java.sql.Connection conn = null;
>     //    Connection conn = null;
>     
>     try{
>                 Class.forName("com.mysql.jdbc.Driver").newInstance();
>                 /* ポート番号がデフォルトの3306の場合は省略できます */
>                 //        conn = DriverManager.getConnection 
> ("jdbc:mysql://" + server + "/" + database + "?user=" + user + 
> "&password=" + password);
>         //                conn = DriverManager.getConnection 
> ("jdbc:mysql://localhost/ATMARKIT?user=root&password=pass");
>                 conn = DriverManager.getConnection 
> ("jdbc:mysql://127.0.0.1/ATMARKIT?user=root&password=pass");
>         //        conn = DriverManager.getConnection 
> ("jdbc:mysql:///ATMARKIT?user=root&password=pass");
>         //        conn = DriverManager.getConnection 
> ("jdbc:mysql://localhost");
>             //                conn = DriverManager.getConnection 
> ("jdbc:mysql://localhost:3306/ATMARKIT?password=pass");
>         //       conn = DriverManager.getConnection ("jdbc:mysql://" + 
> server + "/" + database + 
> "?useUnicode=true&characterEncoding=SJIS",user, password);
>                 System.out.println("接続成功です!");
>                 /*
>         // SQL文(DML文)を作ります。
>         Statement stmt = conn.createStatement ();
>                 // SELECT文の場合はexecuteQuery()を実行します。
>         ResultSet rset = stmt.executeQuery("SELECT NAME, PRICE FROM 
> MENU_MASTER");
>                 while (rset.next ())
>         System.out.println(rset.getString (1) + "\t値段:" + 
> rset.getString(2));
>                 System.out.println ("Your JDBC installation is correct.");
>         // 結果セットを解放
>         rset.close();
>         // SQL文を解放
>         stmt.close();
>         */
>                 // データベースから切断して、完了。
>         conn.close();
> 
>     }catch(SQLException e){
> 
>         System.err.println("接続失敗です\n理由:" + e.toString());
>             }catch(Exception e){
>                 e.printStackTrace();
>             }finally{
>                 try{
>        
>         // データベースから切断して、完了。
>         conn.close();
>        
>         }catch(Exception e){}
>                     }
>     
>    }                                                              }
> 
> _________________________________________________________________
> ウィルス駆除も無料の 「MSN Hotmail」  http://www.hotmail.com/
> 


-- 
Tetsuro Ikeda, Intern
MySQL Inc, www.mysql.com
Office: +1-206-336-2030   Mobile: +1-206-661-4293
Are you MySQL certified?  www.mysql.com/certification

[前][次][番号順一覧][スレッド一覧]

     11847 2005-08-01 18:16 [相良 しの <oceanblue] JDBCでMysqlコネクトできません           
     11848 2005-08-01 18:28 ┣[Hideaki Maekawa <teu]                                       
     11849 2005-08-01 18:41 ┃┗[相良 しの <oceanblue]                                     
     11850 2005-08-01 18:54 ┃ ┗[J.SHIRA <jshira@xxxx]                                   
     11851 2005-08-01 19:08 ┃  ┗[相良 しの <oceanblue]                                 
     11852 2005-08-01 20:52 ┃   ┗[J.SHIRA <jshira@xxxx]                               
     11855 2005-08-02 09:04 ┃    ┗[Hideaki Maekawa <teu]                             
     11861 2005-08-02 13:51 ┗["T.Sasaki" <papasan2]                                       
     11866 2005-08-03 03:04  ┗[相良 しの <oceanblue]                                     
->   11867 2005-08-03 03:56   ┣[Tetsuro IKEDA <tetsu]                                   
     11871 2005-08-03 10:35   ┗["T.Sasaki" <papasan2]                                   
     11878 2005-08-03 21:13    ┗[相良 しの <oceanblue]                                 
     11879 2005-08-04 15:00     ┗[Shinichiro Yamamoto ] File 'NONEXISTENT/charsets/?.conf' not found のエラー
     11896 2005-08-05 14:06      ┣[<takeshi@xxxxxxxxxx>]                             
     11900 2005-08-05 14:57      ┃┗["T.Sasaki" <papasan2]                           
     11904 2005-08-05 16:24      ┃ ┗[<takeshi@xxxxxxxxxx>]                         
     11907 2005-08-05 17:56      ┃  ┗["T.Sasaki" <papasan2]                       
     11909 2005-08-05 20:40      ┃   ┗[Shinichiro Yamamoto ]                     
     11910 2005-08-05 22:49      ┗[Hiromasa Ochiai <ohi]                             
     11917 2005-08-08 16:10       ┗[Shinichiro Yamamoto ]                           
     11923 2005-08-09 00:18        ┗[Hiromasa Ochiai <ohi]                         
     11925 2005-08-09 09:38         ┗[Shinichiro Yamamoto ]                       
     11926 2005-08-09 10:51          ┗["T.Sasaki" <papasan2]                     
     11927 2005-08-09 18:14           ┣[Shinichiro Yamamoto ]                   
     11930 2005-08-09 20:08           ┃┣[深海水草 <VYG01106@x]                 
     11931 2005-08-09 21:33           ┃┗[Hiromasa Ochiai <ohi]                 
     11928 2005-08-09 18:48           ┗[深海水草 <VYG01106@x]                   
     11929 2005-08-09 19:04            ┗["T.Sasaki" <papasan2]