【发布时间】:2019-05-28 09:54:26
【问题描述】:
我正在尝试执行一个由绑定变量组成的 SQL。它适用于 ORACLE DB,但不适用于 DB2
这里是示例 SQL:(UPPER/UCASE 可以是任何东西)
SELECT Col1 FROM tab1 WHERE Col1 = 'abc' AND (UPPER(Col1) LIKE (UPPER(:1) || '%' ESCAPE '\') ORDER BY 1
错误如下:
db2 => SELECT Col1 FROM tab1 WHERE Col1 = 'abc' AND (UPPER(Col1) LIKE (UPPE
R(:1) || '%' ESCAPE '\') ORDER BY 1
SQL0104N An unexpected token "1" was found following "". Expected tokens mayinclude: "<IDENTIFIER>". SQLSTATE=42601
我不确定,这里有什么问题。它不提示输入绑定值。 在 Oracle DB 中,一切正常。
在 DB2 中,我使用命令行来执行查询。对于 Oracle,我使用了 ORACLE SQL developer。
【问题讨论】:
-
你指的是哪个“命令行”?如果您在 Windows、Linux 或 Unix 上使用 shell 命令行(同时连接到 z/os 上的远程数据库),那么它不提供参数标记提示。如果正确配置和许可,Oracle-SQL-Developer 应该能够与远程 Db2-for-Z/O 一起使用。
-
是的,目前我正在使用 Window cmd 提示符。所以你的建议是使用 Oracle-SQL-Develper 连接 DB2?如果有任何参考文档来设置 Oracle SQL 和 Db2 之间的连接,请提供给我