私はMySQLから来て、何かを学ぼうとした私は手動でデータベースを作成し、それをプログラムファイル(x86)フォルダに入れました。 接続にエラーはありませんが、テーブルを作成するとこのエラーが表示されます:
org.sqlite.SQLiteException: [SQLITE_CANTOPEN] Unable to open the database file (unable to open database file)
at org.sqlite.core.DB.newSQLException(DB.java:909)
at org.sqlite.core.DB.newSQLException(DB.java:921)
at org.sqlite.core.DB.execute(DB.java:825)
at org.sqlite.core.CoreStatement.exec(CoreStatement.java:75)
at org.sqlite.jdbc3.JDBC3Statement.execute(JDBC3Statement.java:61)
at SQLite.createDatabase(SQLite.java:15)
at Main.main(Main.java:6)
これは私のコードです:
Connection cn;
try {
cn = DriverManager.getConnection("jdbc:sqlite:C:\Program Files (x86)\CodFiscExtractor\database.db");
Statement stmt = cn.createStatement();
stmt.execute("CREATE TABLE IF NOT EXISTS warehouses (n"
+ " id integer PRIMARY KEY,n"
+ " name text NOT NULL,n"
+ " capacity realn"
+ ");");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
私は何をすべきか?
回答:
回答№1は1あなたの問題は最終的にアクセス許可のようです。 それは窓の内部的な問題です... このバグを修正するには、管理者権限でjavaプログラムを開始することができます。代わりに、ローカルデータベースを別のパスに格納するだけです。
また、データベースに接続する前にドライバをロードしてください:
Class.forName("org.sqlite.JDBC");