java - 为什么我不能将 .dump 命令与 JDBC 一起使用?

标签 java sql sqlite jdbc

我试图通过将一个 SQLite 表的内容转储到另一个表中来合并两个 SQLite 表。但是,每次我尝试执行此操作时,都会引发语法错误,指出“[SQLITE_ERROR] SQL 错误或丢失数据库(靠近“sqlite3”:语法错误)”

conn是原始数据库的连接,我发送所有sql命令。 newConn是要合并的数据库的连接。

如何解决这个问题?预先感谢您!

编辑:我只是想确保这不会因为重复而被关闭。我使用了here中的sql代码,但它仍然会引起问题。

        newConn = DriverManager.getConnection("jdbc:sqlite:" + path);

        String sqlMerge =  "sqlite3 ? .dump";
        conn.setAutoCommit(false);
        PreparedStatement pstmt1 = conn.prepareStatement(sqlMerge);
        pstmt1.setString(1, newConn.getCatalog());
        pstmt1.executeUpdate();
        conn.commit();

最佳答案

.dump 是 SQLite 命令行 shell 的一项功能。 SQL 语言的 SQLite 方言无法识别它。您可以从 Java 中调用命令行 shell,也可以通过 JDBC 使用实际 SQL 命令(读取数据)和 Java 文件操作(写入所需的转储文件)执行等效操作。

关于java - 为什么我不能将 .dump 命令与 JDBC 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49020068/

相关文章:

java - Bukkit ConfigurationSection getKeys

c# - 将 SQL 保留在存储过程与代码中的优缺点是什么

仅具有跳过(偏移)的 SQLite(不限制)

android - 首次加载应用程序时,将数据插入 phonegap 中的 sqlite 数据库

mysql - 高效处理 SQL 数据库中已点赞的图片

python : How to insert a dictionary to a sqlite database?

java - 在 Android 的 Java 中从 Map 的 ArrayList 获取 map

java - 统计计算

java - 如何以编程方式获取 JBoss 中所有注册 DS 名称(对象)的列表?

sql - PostgreSQL:LIMIT + ORDER 返回不一致的结果