我已经在Cobol中创建并编译了一个程序,但是当尝试使用JCL作业运行和测试该程序时,读取输出时出现此错误。 (程序会编译,并且作业本身不会出错)
SQLCODE = -991,错误:呼叫连接无法建立隐式连接或对DB2的打开。 RC1 = 0008 RC2 = 00F30034
SQLSTATE = 57015
现在我不明白为什么会发生此错误。 DB2数据库已启动并正在运行,我可以自己访问它。我在程序代码中也找不到错误。可悲的是,它无法为我提供一个清晰的解决方案,我只能找到问题所在,要么是程序的编译工作,运行它的jcl要么是DB2本身的问题。
答案 0 :(得分:4)
您已完成绑定并成功了!!!!,错误表明计划不存在或未被授权。
您需要与站点上的人交谈有关编译/绑定过程以及谁
授权
如果您不了解Mainframe Cobol / DB2编译过程,请尝试 阅读this
基本上--->
Cobol program
Cobol DB2 Program ---+----> with no SQL ---> Compile -----> Executable
| but calls Plan
|
+----> DBRM (SQL) -----> Bind ------> DB2 Plan
需要 DB2授权的计划才能运行SQL !!! 您可能可以授权该计划,或者可能需要查看DBA的
对于DB2 COBOL,有一个Co-Compiler(是一个预编译器)可以剥离 SQL,并创建DBRM(基本上是一个特殊的SQL过程)。
是处理DBRM(SQL)并创建DB2访问计划的绑定
这似乎在Java等之后long绕不休。但是有一些优点