【发布时间】:2012-10-19 06:30:54
【问题描述】:
我在附加数据库并将附加数据库中的所有行插入主数据库时遇到问题。
这是我的代码。
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)
我做错了什么?
【问题讨论】:
-
我看到了两种可能性:1)表不存在,在这种情况下您需要创建它,2)您的数据库或表名中有错字。
-
感谢您的回答。桌子在那里。我在连接后使用结果集对其进行了测试。但是你的错字是什么意思?
-
打错字,我的意思是你应该仔细检查
SendeDS实际上是你要查询的表的名称。由于我的母语是英语,我看到您可能指的是SendDS或SenderDS。当您知道应该是什么时,这些拼写错误很容易被忽略。我只是建议你仔细检查一下。
标签: java sqlite jdbc connection