1

dsnless を使用して jar ファイルから DB にアクセスする方法は知っていますが、dsnless 接続を使用して jar ファイル内の db の URL を取得する必要があります (可能かどうかはわかりません)。

次のコードを試しました

String a=getClass().getResourceAsStream("/homedei.mdb").toString();

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+a,"","");

そしてこれも

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+ new File("homemedi.mdb").getAbsolutePath(),"","");

そしてこれも。

youtubeでこれを見て、imgファイルをjarファイルに挿入し、以下のようにクラスファイルを作成します

import java.io.InputStream;
final public class ResourcesProvider 
{
    public static InputStream load(String path)
    {
        InputStream input=ResourcesProvider.class.getResourceAsStream(path);
        if(input==null)
        {
            input=ResourcesProvider.class.getResourceAsStream("/"+path);
        }
        return input;
    }
}

そしてしようとする

String a=ResourcesProvider.load("/homemedi.mdb").toString();

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+a,"","");

上記のすべてが発生しますNullPointerException

getSource()またはについて明確な考えを持っていませんgetClass().getResourceAsStream()

子供の言葉でも説明できますか?

私はすでにこのリンクを読んでいます: アプリケーションはMS DBに書き込みません

DB の URL を文字列またはその他の方法で取得する方法を知りたい

ありがとう

4

0 に答える 0