
JDBC接続を現在勉強しています。
そこで、eclipseの中にTomcatをプラグインして、javaからデータベースに接続を心みているのですが、エラーが出て自分なりにいろいろ試したのですが、どうしてもエラーが消えません。
ご指摘いただけたらと思います。
エラー内容
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
環境内容
windows xp professional
Eclipse 3.3 (C:\eclipse)
Tomcat 5.5 (C:\eclipse\servers\tomcat-5.5)
java (C:\Program Files\Java\jdk1.6.0_06)
MySQL (D:\mysql-5.0.67-win32 データベースはDドライブにおいています)
JDBCドライバー mysql-connector-java-5.1.6-bin.jar(C:\eclipse\servers\tomcat-5.5\common\libの配下に設定)
PATHの設定
CLASSPATH C:\eclipse\servers\tomcat-5.5\common\lib
javaのソースコード
import java.sql.*;
public class JdbcMySQLTest {
public static void main(String[] args) {
try {
// ドライバクラスをロード
Class.forName("com.mysql.jdbc.Driver"); // MySQLの場合
// データベースへ接続
String url = "jdbc:mysql:///hellodb?useUnicode=true&characterEncoding=SJIS";
Connection con = DriverManager.getConnection(url);
// ステートメントオブジェクトを生成
Statement stmt = con.createStatement();
String sql = "SELECT * FROM HELLO_WORLD_TABLE";
// クエリーを実行して結果セットを取得
ResultSet rs = stmt.executeQuery(sql);
// 検索された行数分ループ
while (rs.next()) {
// NOを取得
int no = rs.getInt("NO");
// 言語を取得
String lang = rs.getString("LANGUAGE");
// メッセージを取得
String msg = rs.getString("MESSAGE");
// 表示
System.out.println(no + " " + lang + " " + msg);
}
// データベースから切断
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
上記コードをEclipseから実行しますとコンソール上に
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at jp.co.Beas.JdbcMySQLTest.main(JdbcMySQLTest.java:11)
になってしまいます。
JdbcMySQLTest.java:11からcom.mysql.jdbc.Driverが
ないですよ~といっているのは理解しているのですが
そこでいろいろドライバーの配置などを変更したのですが
エラーがやはりかわりません。
ながながとなって申し訳ございませんが、ご教授いただけたらと思います。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
コントロールパネル→管理者ツール→サービス→Apache Tomcat で「サービスの状態」を一度「停止」し、「スタートアップの種
り替え、再度「サービスの状態」を「開始」にしてみたうえでJDBC接続を行ってみてはどうでしょうか?No.2
- 回答日時:
参照してください。
「2.Tomcat5.0 以降 Context の定義の仕方が変わっている。
従来server.xmlに書いていたContextの定義を別ファイルにして
conf/Catalina/localhost/<webapp名>.xmlとする」
多分、これが原因だと思います。
No.1
- 回答日時:
<TOMCAT_HOME>\<サービスフォルダ>\WEB-INF\lib
配下に配置したらどうですか~!?
ogohsさん
回答ありがとうございます。
--------------------------------------------
引用
<TOMCAT_HOME>\<サービスフォルダ>\WEB-INF\lib
----------------------------------------------
ということですが、データベースをTomcatで共有するとには
common/libファイルの配下にドライバー置くのが基本ではないのでしょうか?
admintoolの設定でもコンテキストの中にドライバー設定はせず
リソースの中にあるデータソースにドライバーの設定をしている
形なんですが、やはり<TOMCAT_HOME>\<サービスフォルダ>\WEB-INF\lib
った形でドライバを置かないと呼び込めないのでしょうか?
ご指摘の通り、ドライバを下記の場所において確認してみましたが
やはり、エラーないようが変わりません。
C:\eclipse\servers\tomcat-5.5\webapps\balancer\WEB-INF\lib\mysql-connector-java-5.1.6-bin.jar
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysqlがインストールされている...
-
エラー 1068 (42000): 複数の主...
-
【初歩】ラジオボタンをつかっ...
-
MySQLでcreateが使えない MySQL...
-
SQLでカラムを追加し、条件に合...
-
テーブル名が可変の場合のクエ...
-
LIMIT で条件を満たしているの...
-
Apache, PHP, MySQLの役割
-
SQLで漢字名称を都道府県や市区...
-
下記の問合せを行うクエリを、P...
-
MySQL NULLだけをカウントして...
-
SQLです!!教えてください。
-
本を見ながらPHPを勉強している...
-
MYSQL エラー
-
テーブル作成です。どこかのス...
-
SQLについて質問です。 SELECT ...
-
PHPで「myql関数」が使用できな...
-
【SQLクエリ】日替わりで表示さ...
-
MAMPで80ポートが使用されている...
-
同一日に複数レコードがある場...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysqlがインストールされている...
-
同一日に複数レコードがある場...
-
#1062 - '0' は索引 'PRIMARY' ...
-
エラー 1068 (42000): 複数の主...
-
SQLでカラムを追加し、条件に合...
-
テーブル名が可変の場合のクエ...
-
【初歩】ラジオボタンをつかっ...
-
MySQLのテーブル作成でハイフン...
-
mysqlのupdate構文についての質...
-
LIMIT で条件を満たしているの...
-
データベースの接続に失敗して...
-
MySQL NULLだけをカウントして...
-
select *, `人口(男)`AND`人口(...
-
複数DBテーブルからのデータ取得
-
テーブル:生徒名簿 生徒名簿の...
-
htmlコードで書かれた表にphpで...
-
データベースの複製の仕方(mysql)
-
「重複を間引いた数」をcountし...
-
MAMP 99ドル約1.6万円 高い...
-
SQLです教えてくださいお願いし...
おすすめ情報