3

我在附加数据库并将附加数据库中的所有行插入主数据库时遇到问题。

这是我的代码。

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)

我究竟做错了什么?

4

1 回答 1

4

ATTACH DATABASE命令需要一个文件名,但你给它一个Connection对象的表示。

您不需要connOldDb,只需使用即可dbName

于 2012-10-30T08:13:42.980 回答