Eclipse3.1でデータベース(mysql)にアクセスするプログラムを作ったのですが下記のエラーが出ます。

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

これはJDBCドライバのセットアップがうまく出来ていないからなのでしょうか?
またEclipseでは、~.jarというファイルをプロジェクトのWEB-INFのlibフォルダに入れれば使える印象があるのですが、参考書(EclipseのではなくJAVAなどの)などにあるようにTomcatのインストールフォルダ以下common/libに入れて環境変数を変更しないといけないのでしょうか?

ご存知の方教えてください、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

WEB-INF以下に入れると実行はできるのですが、エクリプスが.javaファイルをコンパイルすることができません。

projectの一覧を右クリックしてpropertyを選択し、ダイアログ右側からJava Build Pathを選択し、タグからLibrariesを選び、Add JARsボタンをおして.jarファイルを登録して下さい。
たぶんこれでコンパイルできるはずです。
    • good
    • 3
この回答へのお礼

出来ました、ありがとうございます。

お礼日時:2006/09/05 11:53

1.mysqlJDBCのjarファイルをTomcat/common/libにコピー。


2.Eclipseではプロジェクト→プロパティ→Javaのビルドパスクラスライブラリのタブで外部jarの追加でmysqlJDBCのjarファイルを追加する。

以上でできると思います。

windowsの環境変数を変更する必要はないと思います。
    • good
    • 3
この回答へのお礼

出来ました、ありがとうございます。

お礼日時:2006/09/05 11:53

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q付属ドライバCDがないとき、このPCのマザーボードの音声デバイスのドライバーだけをどこかからダウンロードしたい。

持っているPCに付属していたドライバCDがないので、マザーボードの音声デバイスのドライバーだけをどこかからダウンロードしたいんですが、音声デバイスのドライバーだけをダウンロードして音声デバイスを使用可能にすることは可能ですか?
このマザーボードの音声デバイスのタイプはどこを見たらわかるのでしょうか?

このPCは、ThinkPad i Series 1600 2662-33Jです。

Aベストアンサー

「音声デバイス」??
サウンドドライバの事でよろしいのでしょうか?

とりあえずこちらからどうぞ。
ドライバはすべてそろっているはずです。

Lenovo ThinkPad i Series 1620 2662-33J : ダウンロード・ファイル - Japan
http://www-06.ibm.com/jp/domino04/pc/support/index.nsf/navigation?SearchView&SearchMax=0&SearchOrder=4&Start=1&Count=1000&Query=%28%5Bdoctype%5D%3D%22Downloadable%20files%22%29+AND+%28%5Bsubtypejp%5D%3D%22%u30AA%u30FC%u30C7%u30A3%u30AA/%u30B5%u30A6%u30F3%u30C9%22%29+AND+%28%5Bbrand%5D%3D%22Notebooks%20and%20handhelds%22%29+AND+%28%5Bfamily%5D%3D%22ThinkPad%20i%20Series%201600%22+OR+%5Bfamily%5D%3D%22All%22%29+AND+%28%5Btype%5D%3D%222662%22+OR+%5Btype%5D%3D%22All%22%29+AND+%28%5Bmodel%5D%3D%222662-33J%22+OR+%5Bmodel%5D%3D%22all%22%29

「音声デバイス」??
サウンドドライバの事でよろしいのでしょうか?

とりあえずこちらからどうぞ。
ドライバはすべてそろっているはずです。

Lenovo ThinkPad i Series 1620 2662-33J : ダウンロード・ファイル - Japan
http://www-06.ibm.com/jp/domino04/pc/support/index.nsf/navigation?SearchView&SearchMax=0&SearchOrder=4&Start=1&Count=1000&Query=%28%5Bdoctype%5D%3D%22Downloadable%20files%22%29+AND+%28%5Bsubtypejp%5D%3D%22%u30AA%u30FC%u30C7%u30A3%u30AA/%u30B5%u30A6%u30F3%u30C9%2...続きを読む

QJDBCドライバの登録とデータベースとの接続のプログラムについて

JAVAを使ってMySQLに接続したいのですが
// JDBCドライバの登録
String driver = "org.gjt.mm.mysql.Driver";

// データベースの指定
String url = ".;%JAVA_HOME%\lib\tools.jar;mysql-connector-java-5.0.4-bin.jar";
String user = "root";// 環境に応じて設定
String password = "ishi";// 環境に応じて設定

Class.forName (driver);

// データベースとの接続
con = DriverManager.getConnection(url, user, password);
の部分がよくわかりません。研修先のパソコンではうまくできたのですが自宅のパソコンで実行環境を構築したところうまくいきません。
String userとString passwordの部分についてはMySQLで設定したものに設定しました。
String urlに関しても何か設定を変えなければいけないのでしょうか?
また他に設定しなければならない部分があるのでしょうか?

JAVAを使ってMySQLに接続したいのですが
// JDBCドライバの登録
String driver = "org.gjt.mm.mysql.Driver";

// データベースの指定
String url = ".;%JAVA_HOME%\lib\tools.jar;mysql-connector-java-5.0.4-bin.jar";
String user = "root";// 環境に応じて設定
String password = "ishi";// 環境に応じて設定

Class.forName (driver);

// データベースとの接続
con = DriverManager.getConnection(url, user, password);
の部分がよくわかりません。研修先のパソコンではうまくできた...続きを読む

Aベストアンサー

以下の記述で接続できました。

注意)データベース名、文字コード、ユーザーID、パスワードは、環境に適した値を記述して下さい。

Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql:///データベース名?unicode=true&charcterEncoding=文字コード";
con = DriverManager.getConnection(url, ユーザーID, パスワード);

Qドライバのダウンロード

購入したHD2600が二日後に来るので、到着したらAMDのホームページよりドライバをダウンロードをしようと思いAMDのホームページを見てみたんですが、英語表記で何をダウンロードして良いか分からないのですが。ダウンロドページには、オプション1とオプション2があって、2の方にディスプレイドライバーと書かれているのは分かるのですが、これで良いのでしょうか?他にダウンロードする必要があるドライバーは、ありますか?ゲートウェイGT5092j ビスタプレミアムで、購入したグラボはSAPPHIREです。 

Aベストアンサー

オプション2の下段はコントローラユーティリティなんで、これも「Japanese」を選んでダウンロードしておくと幸せになれるかも。
オプション1のフルセットパックは英語版しか用意されていないというw

Qeclipseを使ったデータベース操作(mySQL)

現在eclipseを使ってswingにてデータベース操作したいと思っています。
内容としては簡単なものでフォーム上に配置された
テーブル(JTable)の内容を更新ボタンで更新してmySQL
内に配置したデータベースを更新するというものです。

jdk+エディッタにてはコマンドを投げてあげれば更新は出来るのですが、eclipseで同じソースで実行すると
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
っというエラーが発生します。

まず上記の内容を解決して、次の段階としてswingを使って更新したいと思っています。

上記のエラーはjdbcのクラスパスがあっていないっ戸のことだと思うのですが、jdk+エディッタではうまくいきます。この場合はeclipseに特別な設定をしてあげなければならないのでしょうか?

Aベストアンサー

おそらくビルドはできているんですよね。
Class.forName()で指定したクラスをロードするときにそのクラスへのパスが通っていないのだと思います。
Eclipseのメニュー[実行]から実行ダイアログを開いて、[クラスパス]タブでmySQLのドライバのあるjarを追加してあげないといけないのかもしれませんね。(試してみてください)

Qドライバの再ダウンロードなんですが・・・

この製品のドライバーをダウンロードしたいんですが、
http://www.planex.co.jp/support/download/bwave/gw-us54mini2w.shtml
つい1週間前、↑からドライバーをダウンロードしましたが、
問題がおきてしまったんで、アンインストールしました。
ですが、問題が解決したので再びダウンロードしたいんですが、
問題ないでしょうか?
↑のURLのダウンロードボタンを押すと使用許諾書みたいのがでできますが、そこに再ダウンロード禁止とか書いてありませんでしょうか?

Aベストアンサー

お困りとのことですので簡単に
一度、アンインストールをかけたとのことですがダウンロードファイルが残っているならば、それを展開。それも残っていないのであればサイトよりダウンロードされたら宜しいと思います。ここへ書き込みし回答を待つよりは試した方が早いと思いますが・・・。
Planexのドライバーが原因で不調になったのでしたら・・ちょっと厄介ですが今回の不安原因とは重ならないでしょうから触れません。

QJavaで、TomCatプロジェクトを使用したJDBCを使用したデータベースのアクセスについて教えてください。

すぐに回答を! TomCatプロジェクトでDBアクセスできず困っています。

●Javaプロジェクトの場合(成功)
 ・Javaプロジェクト作成 → 新規 → クラスを作成。
 ・プロジェクト選択 → メニューバー「プロジェクト」 → プロパティー
  → Javaのビルド・パス → ライブラリーの追加 → ユーザーライブラリー
  → 新規 → MySQLドライバを追加
 ・次のソースの実行にて、JDBC Dirverの接続を確認。

[JdbcSample.java]
import java.sql.*;
class JdbcSample {
public static void main(String[] args) {
try {

// 1.JDBC Driver の登録
Class.forName("com.mysql.jdbc.Driver").newInstance();

// 2.データベースへの接続
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/db1", "(ユーザー名)", "(パスワード)");

// 3.SQL ステートメント・オブジェクトの作成
Statement stmt = con.createStatement();
// 4.SQL ステートメントの発行
ResultSet rs = stmt.executeQuery("SELECT * from null_test_tbl");
// 5.結果の出力
while (rs.next()) {
System.out.println(rs.getString("allow_null"));
}

// 6.データベースのクローズ
rs.close();
stmt.close();
con.close();

} catch (SQLException e1) {
System.out.println(
"SQLException: " + e1.getMessage());
System.out.println(
" SQLState: " + e1.getSQLState());
System.out.println(
" VendorError: " + e1.getErrorCode());
} catch (Exception e2) {
System.out.println(
"Exception: " + e2.getMessage());
}
}
}

●TomCatプロジェクト作成の場合(失敗)
 (1)TomCatプロジェクト作成 → 新規 → クラスを作成。
 (2)プロジェクト選択 → メニューバー「プロジェクト」 → プロパティー
  → Javaのビルド・パス → ライブラリーの追加 → ユーザーライブラリー
  → 新規 → MySQLドライバを追加
 (3)サーブレットからBeanの呼び出し。
 「​http://localhost:8080/test_mvc/jdbcSample​」
 (4)エラー「Exception: com.mysql.jdbc.Driver」 が発生。(ドライバーが見つかりません?)

[servlet]
package ne.jp;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestMvc extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {


JdbcSample da = new JdbcSample();


try {
da.dbAccessTest(); (※)←ここでBeanのデータベースアクセスメソッドを呼び出し
} catch (Exception e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}


// HTML出力の準備
response.setContentType("text/html;charset=Shift_JIS");
PrintWriter out = response.getWriter();

out.println("<html><body><p>こんにちわ!</p></body>");
}

}

[Bean]
package ne.jp;
import java.sql.*;

class JdbcSample {

//Beanコンストラクタ
public JdbcSample(){
}

//データベースアクセス確認
public void dbAccessTest(){

try {

// 1.JDBC Driver の登録
Class.forName("com.mysql.jdbc.Driver").newInstance();

// 2.データベースへの接続
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/db1", "***", "*****");

// 3.SQL ステートメント・オブジェクトの作成
Statement stmt = con.createStatement();
// 4.SQL ステートメントの発行
ResultSet rs = stmt.executeQuery("SELECT * from null_test_tbl");
// 5.結果の出力
while (rs.next()) {
System.out.println(rs.getString("allow_null"));
}

// 6.データベースのクローズ
rs.close();
stmt.close();
con.close();

} catch (SQLException e1) {
System.out.println(
"SQLException: " + e1.getMessage());
System.out.println(
" SQLState: " + e1.getSQLState());
System.out.println(
" VendorError: " + e1.getErrorCode());
} catch (Exception e2) {
System.out.println(
"Exception: " + e2.getMessage());
}
}
}

すぐに回答を! TomCatプロジェクトでDBアクセスできず困っています。

●Javaプロジェクトの場合(成功)
 ・Javaプロジェクト作成 → 新規 → クラスを作成。
 ・プロジェクト選択 → メニューバー「プロジェクト」 → プロパティー
  → Javaのビルド・パス → ライブラリーの追加 → ユーザーライブラリー
  → 新規 → MySQLドライバを追加
 ・次のソースの実行にて、JDBC Dirverの接続を確認。

[JdbcSample.java]
import java.sql.*;
class JdbcSample {
public static void main(S...続きを読む

Aベストアンサー

Tomcatは起動時に "[Tomcatディレクトリ]/lib" ディレクトリ配下のライブラリがクラスパスに追加されます。

Javaプロジェクトの場合は「Javaのビルド・パス=実行時のクラスパス」として設定されますが、TomCatプロジェクト作成の場合は「Javaのビルド・パス=実行時のクラスパス」とはなりません。

"[Tomcatディレクトリ]/lib" ディレクトリ配下にMySQLのJDBCドライバのjarファイルを置いてもう1度確認してみて下さい。

Qネットワークカードのドライバをダウンロードしたい

Realtek PCIe GBE Family Controller のドライバ(XP用)をダウンロードしたいです。
初心者ですが、よろしくお願い致します。

Realtekの以下のサイトからリンクをたどってみたのですが、※も何ビットを選ぶのが正しいのかわかっていません。
どれをダウンロードすれば良いのでしょうか?

■探してみたサイト
http://218.210.127.131/downloads/
・ネットワーク向けID
  >network interface controllers
   >10/100/1000M Gigabit Ethernet・・・※
    >PCI express
   >Software

■背景
Windows7がプリインストールされているデスクトップPCを購入したが、
windowsXPを入れて利用したい。

XPを入れたところネットワークアダプターが認識されず、7に戻して確認したところ。

■ネットワークアダプター
●デバイスマネージャから確認したところ:
ネットワークアダプター
 Realtek PCIe GBE Family Controller

●プロパティ
 プロバイダー Realtek
 バージョン   7.6.820.2009

●ドライバーファイルの詳細
 C:\Windows\system32\DRIVERS\Rt86win7.sys
 C:\Windows\system32\RtNicProp32.dll
 C:\Windows\system32\RTNUninst32.dll

■パソコン
HP Pavillion
OS Windows7 ⇒windowsXP に入れ替え予定

Realtek PCIe GBE Family Controller のドライバ(XP用)をダウンロードしたいです。
初心者ですが、よろしくお願い致します。

Realtekの以下のサイトからリンクをたどってみたのですが、※も何ビットを選ぶのが正しいのかわかっていません。
どれをダウンロードすれば良いのでしょうか?

■探してみたサイト
http://218.210.127.131/downloads/
・ネットワーク向けID
  >network interface controllers
   >10/100/1000M Gigabit Ethernet・・・※
    >PCI express
   >Software

■背景
Win...続きを読む

Aベストアンサー

本当ですね。
メニューから
ダウンロードセンター

ネットワ-ク向けIC > Network Interface Controllers > 10/100/1000M Gigabit Ethernet > PCI Express > Software

WinXPだとバージョン5.770
1行目インストーラー付
3行目インストーラ無し

QJDBCとJDBCドライバのライブラリについて

JDBCのライブラリと、DBベンダーのJDBCドライバのライブラリは、
どのような役割分担になっているのでしょうか?

JDBCのライブラリ(ex. java.sql.Connection)は当然使った事がありますが、
DBベンダーのライブラリ(例えば、OracleのOJDBCのライブラリ)は使った事が無いな、、、

と思って質問しました。

Aベストアンサー

>例えば PreparedStatementのexecuteQuery() などは、
>実際にはベンダーのドライバのライブラリ側のメソッドを使っていると言うことですか??
そういうことです。

Qデバイスドライバを他サイトからダウンロードすることについて

中古で買ったPCやハードウェアはほとんどの場合、ドライバが付属していません。

しかし、デバイス製造元ではなく、パソコンを販売しているメーカー(FujitsuやNECなど)に目的のドライバがありました。
古いハードウェアなので、デバイスの製造元(例えば、ATIなど)からダウンロードできないので、NECや富士通などのOEM供給先のメーカーからダウンロードすることは、「ライセンス違反」と聞いているのですが、このドライバを作っている所(ドライバの著作権)は、各ハードウェア製造元(ATIなど)なので、ちょっと納得がいきません。

何か他に理由があるのでしょうか?
また、デバイス製造元以外の所からダウンロードしたら問題になるのでしょうか?


よろしくお願いします。

Aベストアンサー

 
>#2のお礼
>『単体のグラフィックボードを購入しましたが、グラフィックボード製造元にもうドライバが置いていませんでした。ですが、あるメーカー(例として、NEC)にそのグラフィックカードと同じドライバが置いてあったのでそこからダウンロードしたら「ライセンス違反」か?』と言うことです。

ライセンスどうのこうの以前にPCメーカのドライバーでは動きませんワ
単体のグラフィックボードはGPUの機能を目一杯発揮するように作って有るが、PCメーカは可能な限り機能を削減してコストを下げてるのが普通。
例えばアナログとデジタルの2種類の出力が可能でもPCメーカはデジタルを削除するのは良くあることです。
そんな仕様の違う製品を動かすドライバーを手に入れても動けば儲け物、動いても最低限の機能しか使えないでしょう。

それより
>中古で買ったPCやハードウェアはほとんどの場合、ドライバが付属していません。
こんなのは買う前に判ってたはず、なぜドライバー付のを買わないのですか?

 

QMySQLでデータベースにデータinsert時のエラー。

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column '******' at row 1
とエラーがでて解決できません。どこがおかしいのでしょうか?(JAVA初心者ですいません。)

Aベストアンサー

私の場合ですが、データベース接続直後に
"SET NAMES SJIS;"
を実行すれば正常にINSERT出来ました。

なお、テーブルの作成時に文字コードをSJISにしておく必要があります。私は(cp932 -- SJIS for Windows Japanese)にしました。
後からテーブルの文字コードを修正してもうまくいきませんでした。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング