我在附加数据库并将附加数据库中的所有行插入主数据库时遇到问题。
这是我的代码。
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错误或缺少数据库(没有这样的表: fromDB.SendeDS)
我做错了什么?
答案 0 :(得分:3)
ATTACH DATABASE
命令需要文件名,但您可以为其指定Connection
对象。
您不需要connOldDb
,只需使用dbName
。