【发布时间】:2017-07-18 05:59:03
【问题描述】:
我想在附加新的 sqlite 数据库之前分离当前的 sqlite 数据库(旧)。但是当我执行下面的代码时:
Statement statement = connection.createStatement();
statement.execute("DETACH database '" + alias+"'");
statement.close();**
我收到以下错误:
java.sql.SQLException: [SQLITE_ERROR] SQL 错误或缺少数据库(没有这样的数据库:OLD)
我已使用以下代码附加数据库:
SQLiteDataSource dataSource = new SQLiteDataSource();
Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement();
statement.execute("ATTACH DATABASE '" + path + "' AS " + alias);
statement.close();**
谁能帮我看看我哪里做错了?
【问题讨论】:
-
如果我尝试对 NEW 和 OLD 数据库独立执行任何查询,它们可以正常工作并获得 NEW 和 OLD 所需的所有结果集。但是当我将它们放在相同的代码中并查询它们时(首先附加新的数据库文件,查询它,然后附加旧的,然后查询旧的),我在旧的结果集中得到重复的数据。所以我想在查询 OLD 之前分离 NEW
-
您是否尝试过在别名周围不加单引号(如文档中所述)?
-
@DawoodibnKareem 是的,我试过了 1.
statement.execute("DETACH database '" + alias+"'");2.statement.execute("DETACH database " + alias);3.statement.execute("DETACH '" + alias+"'");4.statement.execute("DETACH " + alias);它们都给出了相同的错误:( -
@user7294900 你能告诉我如何用 PATH 分离
-
你使用的是同一个连接对象吗?
标签: java sqlite detach sqlitejdbc