我有一個附加數據庫的問題,並將附加數據庫中的所有行插入到main中。在Java中附加Sqlite數據庫
這是我的代碼。
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)數據庫或表名中存在拼寫錯誤。 –
感謝您的回答。桌子在那裏。我在連接後用結果集對它進行了測試。但是,你打字錯誤是什麼意思? – user1761808
通過拼寫錯誤,我的意思是你應該仔細檢查'SendeDS'實際上是你試圖查詢的表的名稱。由於我是母語爲英語的人,因此我認爲您可能意味着要麼使用「SendDS」,要麼使用「SenderDS」。當你知道**應該是什麼時,這樣的錯別字很容易被忽視。我只是建議你仔細檢查一下。 –