gpt4 book ai didi

java - Derby SQL 语法错误 : Encountered "." when copying from one database to another

转载 作者:行者123 更新时间:2023-12-01 11:58:37 25 4
gpt4 key购买 nike

我正在使用 Derby DB 并尝试将数据从一个数据库中的表复制到另一个数据库中具有相同表定义的表。

在 Derby SQL 中指定 database.scheme.table 的正确语法是什么?

我尝试使用以下选择语句

statement = "INSERT INTO CH003..MHALL..CH_COMPANY SELECT * FROM CH001..MHALL..CH_COMPANY WHERE COMPANY_NUMBER = '" + companyNumber + "'";

但出现错误 Caused by: java.sql.SQLException: Syntax error: Encountered "."位于第 1 行第 22 列。

将代码更改为

 statement = "INSERT INTO CH003.MHALL.CH_COMPANY SELECT * FROM CH001.MHALL.CH_COMPANY WHERE COMPANY_NUMBER = '" + companyNumber + "'";

我收到错误 SQLSyntaxErrorException:语法错误:遇到“.”位于第 1 行第 27 列。

在 Derby 中可以做到这一点吗?你知道正确的语法吗?感谢您的帮助。

最佳答案

单个 Derby JDBC 连接恰好连接到一个 Derby 数据库,因此按照您尝试的方式这是不可能的。

但是,您还可以使用其他方法。

例如,您可以使用 SYSCS_UTIL.SYSCS_EXPORT_TABLE 将表中的数据导出到 CSV 文件中,然后可以打开与目标数据库的连接并使用 SYSCS_UTIL.SYSCS_IMPORT_DATA 导入该数据。请参阅https://db.apache.org/derby/docs/10.11/ref/rrefexportproc.htmlhttp://db.apache.org/derby/docs/10.11/ref/rrefimportdataproc.html .

或者,您可以将该数据读入 Java 程序中的数据结构(例如 ArrayList),然后打开与目标数据库的连接并将其写出。

或者,您可以使用 Apache DdlUtils 等工具将数据从一个表复制到另一个表:http://db.apache.org/derby/integrate/db_ddlutils.html

我确信还有其他可能性,但由于您没有提供有关您想要实现的基本目标的大量背景信息,因此我不会尝试推测为什么一种方法可能更好或更差比另一个。

关于java - Derby SQL 语法错误 : Encountered "." when copying from one database to another,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28154984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com