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