【发布时间】:2020-12-21 10:56:07
【问题描述】:
我已使用 DB2 ODBC 驱动程序从 Oracle SQL Developer 19.4.0.354 成功连接到 DB2 数据库。 SQL 脚本工作得很好。
现在我也想执行 PL/SQL 脚本,但是简单的示例脚本失败了。:
set serveroutput on
DECLARE
message varchar2(20):= 'Hello, World!';
BEGIN
dbms_output.put_line(message);
END;
它以这样的方式失败,以至于 PL/SQL 代码似乎根本不被接受:
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=DECLARE
message varchar2(20):= 'Hell;BEGIN-OF-STATEMENT;<create_view>, DRIVER=4.26.14
此设置通常支持 PL/SQL 吗?
【问题讨论】:
-
我不知道 DB2,但我发现的 documentation page 说 'PL/SQL 语句执行默认情况下未从这些接口启用。必须在 DB2 数据服务器上启用 PL/SQL 语句执行支持。'
-
@WilliamRobertson:感谢您的回复!我已经按照 DB2 文档中的建议执行了“db2set DB2_COMPATIBILITY_VECTOR=800”,因此可以使用数据服务器接口编译和执行 PL/SQL 语句。
-
为了完全兼容,不仅必须将 DB2_COMPATIBILITY_VECTOR db2-registry 变量设置为 ORACLE,并且实例被退回,而且还必须在 AFTER 之后创建 数据库 这些变化。这就是 Db2 知识中心中记录的内容。否则兼容性是有限的。
-
@mao - 我可以建议您发表您的评论作为答案吗?它封装了一些其他人可能会觉得有用的知识,我们更喜欢有答案的问题而不是有 cmets 但没有答案的问题。
标签: oracle plsql db2 oracle-sqldeveloper