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]