我来自MySQL,我尝试学习一些SQLite.I手动创建了一个数据库,我把它放在程序文件(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 real\n"
+ ");");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我应该做什么?
答案 0 :(得分:1)
你的问题似乎终于是权限了。这是windows的内部问题...... 您可以使用管理员权限启动java程序来修复此错误。 Alternate只将您的本地数据库存储在另一条路径中。
在连接数据库之前还要加载驱动程序:
HttpHeaders