Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

JavaからアクセスのDBに接続できません

プログラム初心者でJavaを勉強しているものです。
インターネットの情報で色々と学習している中で、JavaからアクセスのDBへ
接続するプログラムを実施しようとした際にエラーとなりました。


◆プログラムを実行した際のエラー

c:\java\Sample100>java DbConnect
例外発生:java.sql.SQLException: No suitable driver found for jdbc:ucanaccess://C:/SampleDB030.mdb


上記のエラーが出力され、アクセスのDBに接続することが出来ません。
不具合箇所が分からず、アドバイスをお願いいたします。


◆実行したプログラム
-------------------------------------------------------------------
import java.sql.*;

class DbConnect {
  public static void main(String args[]) {
    try {
      //各設定
      String url = "jdbc:ucanaccess://C:/SampleDB030.mdb";
      String user = "";
      String pass = "";

      //データベースに接続
      Connection con = DriverManager.getConnection(url,user,pass);

      System.out.println("接続成功");

      //データベースを切断
      con.close();

    } catch (Exception e) {
      System.out.println("例外発生:" + e );
    }
  }
}
-------------------------------------------------------------------


◆環境

c:\java\Sample100>set JAVA_HOME
JAVA_HOME=c:\Program Files\Java\jdk-9.0.4


c:\java\Sample100>javac -version
javac 9.0.4

c:\java\Sample100>path
PATH=PATH=C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\s
ystem32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program F
iles (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Managemen
t Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Pr
ogram Files\Intel\Intel(R) Management Engine Components\IPT;C:\Users\P160015\AppData\Local\Microsoft
\WindowsApps;C:\Program Files (x86)\Windows Live\Shared;c:\Program Files\Java\jdk-9.0.4\bin

→パスは 「c:\Program Files\Java\jdk-9.0.4\bin」 を登録


c:\Program Files\Java\jre-9.0.4\lib\ext>dir
 ドライブ C のボリューム ラベルは Windows7_OS です
 ボリューム シリアル番号は 02EF-88D5 です

 c:\Program Files\Java\jre-9.0.4\lib\ext のディレクトリ

2018/04/02  19:38    <DIR>          .
2018/04/02  19:38    <DIR>          ..
2013/11/16  03:53           284,220 commons-lang-2.6.jar
2015/09/22  17:45            62,050 commons-logging-1.1.3.jar
2013/10/08  00:52         1,467,326 hsqldb.jar
2017/10/16  17:45           863,736 jackcess-2.1.9.jar
2017/12/18  09:48           378,061 ucanaccess-4.0.3.jar
               5 個のファイル           3,055,393 バイト
               2 個のディレクトリ  391,680,294,912 バイトの空き領域

→ ucanaccess 関連の jar ファイルを上記のディレクトリに保存しました。

c:\Program Files\Java\jre-9.0.4\lib\ext>java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

c:\Program Files\Java\jre-9.0.4\lib\ext>



c:\>dir
 ドライブ C のボリューム ラベルは Windows7_OS です
 ボリューム シリアル番号は 02EF-88D5 です

 c:\ のディレクトリ

2016/06/15  17:03    <DIR>          app
2016/12/08  13:48    <DIR>          BUFFALO
2016/09/05  10:51    <DIR>          checkpoints
2016/04/06  11:00    <DIR>          DRIVERS
2015/06/09  20:29    <DIR>          Intel
2018/04/02  19:14    <DIR>          java
2015/06/10  12:22    <DIR>          mfg
2009/07/14  12:20    <DIR>          PerfLogs
2018/01/23  11:17    <DIR>          pleiades
2018/03/09  15:21    <DIR>          Program Files
2018/03/29  11:54    <DIR>          Program Files (x86)
2017/03/29  11:17    <DIR>          Quarantine
2007/08/07  16:23         6,512,640 SampleDB030.mdb   ← 学習用のDB
2014/11/14  06:25    <DIR>          support
=略=


以上、アドバイスをお願いいたします。

3

回答

679

閲覧

3件の回答

評価

0

まず例外メッセージをぐぐる。
初心者の頃に出会うメッセージは、たいてい引っかかる。

評価

0

アドバイスありがとうございます。

ぐぐったのですが、解決にいたらず質問させていただきました。
ドライバを読み込みの部分に問題があることまでは理解できたのですが、

・ucanaccessのjarファイルの保存場所
・DBを指定するパスの表記方法
・CLASSPATHやJAVA_HOMEの定義

上記をみてもどうしても解決できずにおります。

評価

0

ドライバーを登録するのにコードを1行書くという記述が、方々にあると思うんだが。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。