Java, Servlet: No suitable driver found for "~" の原因と解決法

事象 – NullPointerException on java.sql.Connection

JDBCを用いてServletからMySQLのテーブルへアクセスする過程で、DriverManager.getConnectionメソッドの呼び出しの後、NullPointerExceptionが送出された(アプリケーション・サーバーはTomcat)。

<前略>
Connection conn = null;
    try {
      conn = DriverManager.getConnection(URL, USER, PASS);
      Statement stmt = conn.createStatement();
      ResultSet rs = stmt.executeQuery("<sql文>");
<後略>

tomcat_error_nullpointer

原因 – No suitable driver found for “~”

デバックトレースを行ったところ、No suitable driver found for “~”というメッセージが出力されていた。JDBC Driver のクラスパスを設定していなかった為、今回のエラーが発生した。

対策 – JDBC Driverのクラスパス設定

JDBC Driver ファイル(.jar)をクラスパスに追加する。Eclipse上での設定方法は「実行」→「実行の構成」から「クラスパス」タブ内の「ユーザー・エントリー」を選択、「外部JARの追加」ボタンから、Driverを設定する。

雑感

ありがちー、なミスをしてしまったー。

コメント

  1. 匿名 より:

    eclipseじゃなくてコマンドプロンプトで設定するやり方が知りたいです。
    だって、eclipseで作ったものは最終的にデプロイしてサーバに移しますよね?
    だったら、プロンプトで指定するやり方がわからないとしょうがないですよね

  2. れーじ より:

    No suitable driver found for “~” の解決方法を1日中いろんなサイトでさがしてて、他のサイトだとjarの設定だとか、Class.forName()記述してだとかいろいろ書いてあって、「全部やってるんだけどな~」状態でした。

    この記事の実行構成からクラスパスを追加する方法で解決できました!
    ありがとうございます!!!!!!