2014-02-25 123 views
3

快速免责声明:我是.Net开发人员,可能未提供有关该环境的所有信息,但可以根据请求获取信息。我们有COBOL程序员,但他们从来没有这样做过。如何从DB2上的COBOL存储过程调用COBOL批处理程序

我们将带有DB2数据库的大型机应用程序转换为带有SQL数据库的.Net MVC应用程序。有一个大型机COBOL批处理程序,我们想从DB2上的COBOL存储过程调用。我读过这可以完成,但我还没有找到一个很好的例子来说明如何创建一个调用COBOL程序的COBOL存储过程。 COBOL批处理程序需要约5个输入参数,但不返回任何内容。

我们已经有一个链接服务器用于从SQL服务器调用DB2上的原生sql存储过程。

编辑下面

我们看着解决我们问题的两个方面备查 - 创建可以通过DB2大型主机z/OS上,我们会复制/粘贴运行中使用的COBOL存储过程我们的COBOL来自CICS程序,并将其作为存储过程进行调整(从而完全切割CICS),或者使用CICS托管可以调用我们想调用的CICS程序的Web服务端点,就像在slide 21 of this PowerPoint上描述的那样。

我们决定继续推进第二种选择,因为有这样的先例,所以这对我们来说会是更容易的途径。

+0

你在哪里遇到困难?定义存储过程或编写COBOL存储过程?你想调用批处理程序还是想执行一个执行批处理程序的jobstream(JCL)? – cschneid

+0

我可以同时使用高级解释(包括任何注意安全方面的注意事项以使DB2与大型机对话),并且能够在Web上某处显示此示例的引用会很好,或者到描述它的文档。当我与我们团队的COBOL程序员交谈时,他们告诉我他们以前从未做过,也不知道该怎么做,所以我想帮助他们。 –

+0

从“让DB2与大型机对话”听起来好像你想让LUW上的DB2中的存储过程调用System z上的程序(而不是存储过程),这是否正确?这与你原来的问题明显不同。 – cschneid

回答

2

有趣的问题!

我在想为什么不让你的LUW DB2存储过程调用一个事务管理器来执行你的cobol程序?如果你在大型机中使用事务管理器(我假设你这么做!)。如果您不熟悉这一点,只需检查您的大型机人员是否将事务管理器用作CICS或IMS。

我没有这样做,但它应该工作。

(二选一,请从DB2 SP A的HTTP/Web服务将执行执行你的COBOL程序IMS事务...)

我必须补充一点,我已经没有尝试过任何上述,我have'nt使用db2 luw。但也许这些想法值得在此提及?

+0

将此标记为正确,因为我们已决定采用您建议的路线 - 调用Web服务,就像[本幻灯片的第21张幻灯片](https://www.google.com/url?sa=t&rct=j&q= &ESRC = S&源=幅和CD = 1&VED = 0CCkQFjAA&URL = HTTP%3A%2F%2Fpublic.dhe.ibm.com%2Fsoftware%2Fhtp%2Fcics%2Ftserver%2FCICS_TS3.1_WebServices.ppt&EI = X_4VU5z9FqLCyQHoioHABg&USG = AFQjCNGHICyd-iWSU4falRtLCssVOBr2KA&SIG2 = QzRpmy2Eg8E6ZKlggNFxqw&BVM = bv.62286460, d.aWc&cad = rjt)描述。 –

+0

感谢您的反馈,祝您好运,并让我们知道进展情况。 – MrSimpleMind