Class.forName()がないとDBに接続できない?java.sql.SQLException: No suitable driver found for jdbc:postgresql

Java
スポンサーリンク

EclipseでPostgreSQLを使ってDB接続を行う際に、
No suitable driver found for jdbcのエラーが発生しました。

クラスパスはしっかり設定できているのに…

java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/bat_process
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)

結論から言うと、ドライバの初期化をしていないことが問題でした。

try{
    Class.forName("org.postgresql.Driver");
    //
}
catch (ClassNotFoundException e) {
    //
}

こんな感じで、Class.forName()をtry…catchでコードに加えるとDBに接続できるようになります。

ちなみに私の実行環境はこんな感じでした。

  • Java 8
  • PostgreSQL 13.4
  • PostgreSQL JDBC Driver 42.2.23
  • Eclipse 4.20.0

MySQLのときは、Class.forName()がなくてもDB接続できたのですが、PostgreSQLには必要なのでしょうか….

とりあえず、動いたのでOKです。

このブログでは、【ConoHa WING】を使っています

このブログでは、【ConoHa WING】を使っています
わたし、稼げました。

このブログでは、プログラミングでの学びをノート代わりとして記事としています。
少しずつPVが増えてきて、先日Google AdSenseの収益が振り込まれました!

どれくらいの記事数、期間、PVがあれば振込ボーターの8千円に到達するのか?
私のリアルな数字を紹介します。

ブログ村を利用しています
素人エンジニアの苦悩 - にほんブログ村
PVアクセスランキング にほんブログ村
Java
スポンサーリンク
スポンサーリンク
シェアする
amateur_engineerをフォローする
素人エンジニアの苦悩

コメント

タイトルとURLをコピーしました