2017-07-18 96 views
0

我想在附加NEW sqlite數據庫之前分離當前的sqlite數據庫(OLD)。但是,當我執行下面的代碼:在java中分離sqlite數據庫

Statement statement = connection.createStatement(); 
statement.execute("DETACH database '" + alias+"'"); 
statement.close();** 

我收到以下錯誤:

java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (no such database: OLD)

我曾嘗試使用下面的代碼連接數據庫:

SQLiteDataSource dataSource = new SQLiteDataSource(); 
Connection connection = dataSource.getConnection(); 
Statement statement = connection.createStatement(); 
statement.execute("ATTACH DATABASE '" + path + "' AS " + alias); 
statement.close();** 

任何人可以請幫我在哪裏我做錯了?

+0

如果我嘗試執行新老任意查詢的方法獨立,他們工作得很好,並得到所有需要的resultSet數據庫每次創建新的參考解決問題對於NEW和OLD。但是當我把它們放在相同的代碼中並查詢它們時(首先附加NEW數據庫文件,查詢它,然後附加OLD然後查詢OLD),我會在OLD的resultSet中獲取重複數據。所以我想在我查詢OLD之前拆離NEW – Anantha

+1

您是否嘗試過在別名周圍沒有單引號(如文檔中指定的)? –

+0

@DawoodibnKareem 是的,我試過1.'statement.execute(「DETACH database'」+ alias +「'」);' 2.'statement.execute(「DETACH database」+ alias);' 3.'語句.execute(「DETACH'」+ alias +「'」);' 4.'statement.execute(「DETACH」+ alias);' 所有4個給出同樣的錯誤:( – Anantha

回答

0

由我打電話的初始化數據庫連接:)