我在附加数据库并将所有行从附加数据库插入主数据库时遇到问题。
这是我的代码。
public void selectOldDb(String dbName) throws Exception {
createNewDB();
Class.forName("org.sqlite.JDBC");
Connection connOldDb = DriverManager.getConnection("jdbc:sqlite:"+ dbName);
String newDbName = getDirToNewDb();
newDbName = newDbName + "auftraege.db";
Connection connNewDb = DriverManager.getConnection("jdbc:sqlite:"+ newDbName);
connNewDb.prepareStatement("ATTACH DATABASE \"" + connOldDb + "\" AS fromDB").execute();
connNewDb.prepareStatement("INSERT INTO main.auftraege SELECT * FROM fromDB.SendeDS").execute();
connNewDb.close();
connOldDb.close();
}
当我尝试插入时出现此错误。
[SQLITE_ERROR] SQL error or missing database (no such table: fromDB.SendeDS)
我做错了什么?
最佳答案
ATTACH DATABASE
命令需要一个文件名,但您给它的是 Connection
对象的表示。
您不需要 connOldDb
,只需使用 dbName
即可。
关于java - 在 Java 中附加 Sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130166/