【发布时间】:2016-07-28 10:05:47
【问题描述】:
我正在尝试在 DB2 10.1 Windows 上使用 JDBC 运行多语句查询,但它失败并出现语法错误。以下是查询-
SELECT * FROM schemaname.tablename;
线程“main”com.ibm.db2.jcc.am.SqlSyntaxErrorException 中的异常:在“”之后发现了意外的标记“”。预期的标记可能包括:“schemaname.tablename”.. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.13.127
我知道这是由于数据库无法理解的查询末尾的分号造成的。如何将查询分隔符设置为分号,以便通过它。
【问题讨论】:
-
你说的这个“多语句查询”是什么?您是否可以显示一些导致错误的代码?
-
基本上是 SELECT * FROM schemaname.tablename1;SELECT * FROM schemaname.tablename2;用分号分隔的两个查询。但是,我的要求并不完全如此。我需要运行一个以分号结尾的查询,因为它们是以这种方式编码的,并且在 DB2 for z/OS 上运行良好,我需要在 DB2 for Windows 上运行同样的。我没有更改查询的选项。
-
这些都不可能。一次只能发出一条语句,除非使用compound statement,并且它不应该有任何终止符(因为终止符不是 SQL 语法的一部分)。