0
EclipseでJavaプロジェクトをjarファイルとして保存しようとしています。.jarファイルからデータベースに接続できません
私はAccessデータベースで作業しているので、すべてをエクスポートする必要があります。Main.class
とSingletonConnection.class
(データベースとの接続を管理するクラス)と同じフォルダにデータベースファイルを含めることにしました。
ので、コードは次のとおりです。
private SingletonConnection()throws ConnessioneException{
idConnection = "root";
passConnection = "";
String slash="\\";
String path=this.getClass().getResource("").getPath().replaceFirst("^.*:", "").replaceFirst("!.*$", "").replace("/", slash.concat("\\"));
System.out.println("path è "+path);
driverConnection = "sun.jdbc.odbc.JdbcOdbcDriver";
stringConnection = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:"+path+"eventi.mdb";
try {
Class.forName(driverConnection);
conn = DriverManager.getConnection(stringConnection,idConnection,passConnection);
} catch (Exception e) {
e.printStackTrace();
throw new ConnessioneException();
}
}
public static Connection getInstance()throws ConnessioneException{
if(conn==null)
new SingletonConnection();
return conn;
}
EclipseではすべてがOKです。プロジェクトは動作しますが例外はありませんが、プロジェクトをRunnable JarファイルまたはJarファイルとしてエクスポートしようとすると、常にConnessioneException =null
が返され、dbへの接続が失敗します。
例外は、メソッドのgetInstance、ライン「新SingletonConnection()」
に与えられて、私は他のPC上でそのプログラムを実行する必要があるので、私はそれを解決する必要があります。 Eclipseを使い続けることはできません。解決しよう
:多分それは誰かのために役立つことができますか? jarファイルにODBCドライバが含まれていますか? – Thilo
ちょっとしたアドバイス、決してキャッチしない(Exception e)...新しいConnessioneExceptionをスローする();常に、新しいConnesioneException( "catch Exception"、e)をスローするようなことをします。スタックトレースには常に例外の根本原因があります。 –
アドバイスありがとうMatthew ..しかしThiloはドライバーを含めていないと言ったので、私はそれをやる方法についてグーグルで尋ねています^^ –