mysql:11971
From: Tetsuro IKEDA <Tetsuro IKEDA <tetsuro@xxxxxxxxxx>>
Date: Mon, 15 Aug 2005 21:22:31 -0700
Subject: [mysql 11971] Re: JAVA で Mysql にコネクトできません。
池田です。 ついでなのでConnector/Jについて簡単におさらいをさせていただきます。 Connector/JはMySQL ABにより提供されている、MySQLサーバへ接続が可能な JDBC Type4のドライバ実装です。 Connector/Jには現在以下の3つのバージョンがあります。 Connector/J3.0系 … 製品版、現在はバグフィックス等のみ。 Connector/J3.1系 … 製品版、新しい機能も追加されていきます、推奨。 Connector/J3.2系 … 開発中 既にver3.0系をお使いの方を除いて、これから新しくConnector/Jの バージョンを選ぶ場合にはver3.1系の最新版(今はver3.1.10)を 選択することが望ましいです。 理由はいろいろありますが、特に私たち日本人にとって重要なのは ver3.1.9以降のConnector/Jにおいて文字コードcp932やeucjpmsへの 対応が盛り込まれている、ということがあります。 ver3.2系は開発版という位置付けですが、活発な開発は行われていません。 XA関連の機能が実装されているのでNightlybuildを落として触るくらいでしょうか。 もしかするとver3.2系が製品版としてリリースされる前にメジャーバージョン があがる可能性もあります。 > 必要ならば、Verが3つ(J3.0、J3.1、J3.2)ありますが、最新版 (J3.2?)で良 > いのでしょうか? ということでConnector/J ver3.1.10をお使い下さい。 > Connector/Jのデバッグ用バージョンとは何でしょうか? Connector/Jをダウンロードして解凍すると、 ・mysql-connector-java-3.1.10-bin.jar ・mysql-connector-java-3.1.10-bin-g.jar といったように、最後に"-g"というのがついているものとついていないものが 含まれています。 この"-g"がついているJARファイルが「デバッグ用」です。 ここでいうデバッグ用とは、Connector/Jそのものの開発を行っている人や、 開発に貢献しようとしている人たちが使うためのものということです。 通常は"-g"がついていない方(mysql-connector-java-3.1.10-bin.jar)を 使用してください。 > leader_catさん まだJava、J2EE、JDBCにあまり慣れていないということでしたら、 さしあたり単純なJavaプログラムからのMySQLへの接続を試してみては いかがでしょう? DriverManager.getConnectionを使う限り、Servletに書いて接続させるのと コード上に違いはありません。 このあたりにサンプルソースコードなどもあります。 http://dev.mysql.com/doc/connector/j/en/cj-connect-with-drivermanager.html まずは問題の切り分けをするために、普通のJavaプログラム(mainメソッド) からつないで見て、その上で今度はServletに移植してみると分かりやすい かもしれません。 leader_cat wrote: > 回答ありがとうございます。 > > なにぶん、JAVA(JSP&サーブレット)を始めて2ヶ月足らずの者の上、 > メーリングリストも初心者ですから、返信方法等で何か問題がございましたら > ご指導下さい。m(__)m > > >>#J2EEサーバ上のJavaアプリケーションからデータベースに接続する場合、 >>#一般的には直接データベースへ接続を取得しにいくのではなく、 >>#J2EEサーバのデータソース機能を使います。 >> >>さておき、同じエラー内容でのQ/Aが本家MySQL JDBCフォーラムにありました。 >>http://forums.mysql.com/read.php?39,22579,22579#msg-22579 >> >>上記やりとりを要約すると、 >> >>・必要なのはmysql-connector-java-3.1.10-bin.jarのみ >>・aspectjrt.jarは不要 >>・このエラーが出てくるのは、Connector/Jのデバッグ用バージョンが >> 実行時に使用されてしまっているのが原因。 > > > Connector/Jのデバッグ用バージョンとは何でしょうか? > > 検索エンジンで調べたところ、 > > MySQL バージョン 5.0.3-alpha リファレンスマニュアル - 11 MySQL API > > http://www.hostgeekz.com/docs/mysql/japanese/manual.ja_Clients.html#IDX1935 > (11.3 MySQL の Java 接続(JDBC)) > > がヒットしましたが… > > 上記サイトによると、 > >MySQL Connector/J は、http://www.mysql.com/products/connector-j/ からダ > ウンロードできる。 > とありますが、これをダウンロードしなければならないのでしょうか? > 必要ならば、Verが3つ(J3.0、J3.1、J3.2)ありますが、最新版(J3.2?)で良 > いのでしょうか? > > >>以下のクラスパス等の環境のコピペを見る限りでは、 >>・C:\mysql\mysql-connector-java-3.1.10\src; >>がクラスパスに入っていたりなど、かなり環境設定としては >>ぐちゃぐちゃになっている気がします。 > > > いろんなサイトを見て調べてみてあれやこれやとごちゃごちゃになってしまってい > ます。 > 申し訳ないです。 > > 一番最初は翔泳社発行の「10日でおぼえるJSP/サーブレット入門教室」を > 頼りに作成していましたが、その書籍通りに書いても > "Class.forName"のところで「JDBCドライバーがが無い」とかエラーが返ってくる > し… > > 「Class.forName("org.gjt.mm.mysql.Driver");」のorgにパスを通すつもりで > そうしていたんですが… > > >>今回のケース(ServletからDriverManagerを使ってDBにアクセス)では、 >>単にWEB-INF/libにJDBCドライバのJAR(mysql-connector-java-3.1.10-bin.jar) >>がコピペされていれば良いはずと思います。 >> >>一度綺麗な環境にて試されたほうが良いかもしれません。 > > > ご指摘のフォルダにコピペはしてあるんですが… > > 「単に…コピペ」という事は「コピペするだけ」で良いのでしょうか? > やっぱりクラスパスがらみなんでしょうか? > > > > 以上よろしくお願いいたします。m(__)m > > > > __________________________________ > Save the earth > http://pr.mail.yahoo.co.jp/ondanka/ > >
11944 2005-08-12 18:33 [leader cat <leader_c] JAVA で Mysql にコネクトできません。 11946 2005-08-13 02:50 ┣[Tetsuro IKEDA <tetsu] 11969 2005-08-16 10:11 ┃┗["leader_cat" <leader] -> 11971 2005-08-16 13:22 ┃ ┗[Tetsuro IKEDA <tetsu] 11972 2005-08-16 16:06 ┃ ┗["leader_cat" <leader] 11974 2005-08-16 16:46 ┃ ┗[Tetsuro IKEDA <tetsu] 11977 2005-08-16 17:40 ┃ ┗["leader_cat" <leader] 11973 2005-08-16 16:32 ┗[KIshii <kn-ishi@xxxx] 11975 2005-08-16 16:49 ┣[Tetsuro IKEDA <tetsu] 11978 2005-08-16 17:47 ┃┗["leader_cat" <leader] 11979 2005-08-16 23:11 ┃ ┗[Tetsuro IKEDA <tetsu] 11981 2005-08-17 09:14 ┃ ┗["leader_cat" <leader] 11976 2005-08-16 17:39 ┗["leader_cat" <leader]