0

私は自分のプロジェクトに netbeans を使用しており、key.db スキーマ ファイルを src フォルダーに保存しました。(SQLiteの概念を使用した場合)ネットBeanから実行すると、プログラムは正常に動作します。ただし、jarfile を実行すると、次の例外が表示されます。

String sDriverName = "org.sqlite.JDBC";
Class.forName(sDriverName);
try {
URL url = insert.class.getResource("key.db");
String sTempDb = url.getPath();
System.out.println(sTempDb);
String sJdbc = "jdbc:sqlite";
String sDbUrl = sJdbc + ":" + sTempDb;
int iTimeout = 30;    
Connection conn = DriverManager.getConnection(sDbUrl);
Statement stmt = conn.createStatement();
stmt.setQueryTimeout(iTimeout);
System.out.println(GetBoard.number());
ResultSet rs=stmt.executeQuery("select count(id) from list");
if(rs.next()){
    if(rs.getInt(1)>1){
        ResultSet mbtest=stmt.executeQuery("select motherboard from list where motherboard='"+GetBoard.number()+"'");
        if(mbtest.next())
            ;//okay
        else
        JOptionPane.showMessageDialog(null, "This version of Smart eDocT Software is not original. "
                + "\n please contact sicsi to getFull version.");
    }
    else{
        int idv;
        ResultSet getid=stmt.executeQuery("select max(id) from list");
        if(getid.next()){
            idv=getid.getInt(1)+1;
        }
        else{
            idv=1;
        }
        stmt.executeUpdate("insert into list values("+idv+",'"+GetBoard.number()+"')");
    }
}
rs.close();
stmt.close(); 
conn.close();}

例外は次のとおりです。

java.sql.SQLException: path to 'file:/D:/security/store/SCHEDULAR.jar!/key.db': 'C:\\file:' does not exist
    at org.sqlite.Conn.open(Conn.java:103)
    at org.sqlite.Conn.<init>(Conn.java:57)
    at org.sqlite.JDBC.createConnection(JDBC.java:77)
    at org.sqlite.JDBC.connect(JDBC.java:64)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at insert.main(insert.java:26)

この問題を解決するのを手伝ってください。質問がばかげている場合は言い訳をしてください

4

1 に答える 1

0

彼の質問に対する@prathimaのコメントが、誰かに答える動機を正確に与えていない場合でも:

見て

JAR で SQLite db ファイルを使用する

このコードは db ファイル自体を作成しないため、手動で jar に dbfile を配置することを忘れないでください。db ファイルを自動的に作成する方法がわかったら、投稿します。

于 2013-04-10T06:38:57.070 に答える