我想使用opencobol编译器在ubuntu linux中运行我的cobol-db2程序,请解释一下使用opencobol在linux下运行程序的过程。
答案 0 :(得分:1)
如果这违反了Stackoverflow的任何年龄限制规则,请原谅;
请参阅http://opencobol.add1tocobol.com/#how-does-the-opencobol-compiler-work
也许http://opencobol.add1tocobol.com/#does-opencobol-support-any-sql-databases
用于链接到数据库的示例。
编辑:根据mbinette的建议,而不是简单的链接
简而言之,OpenCOBOL是一个多阶段编译器。
OpenCOBOL擅长共享库,并且通过使用C应用程序二进制接口,可以使用COBOL CALL 动词动态加载大多数(如果不是全部).so(或DLL)符号。
CALL "DB2-CONNECT"
USING
BY REFERENCE "database name"
BY CONTENT credentials
BY VALUE control-bits
RETURNING pointer-to-handle
ON EXCEPTION
DISPLAY "Can't find DB2-CONNECT, use -ldb2 with cobc" END-DISPLAY
END-CALL
我编写了上面的调用框架,因为我没有DB2库或手头的文档。
要编译程序以使用DB2服务,您可以使用类似
的程序cobc -x myprogram.cob -ldb2 -L/path/to/DB2lib
或更可能在更大的应用程序中,
cobc -b myprogram.cob hisprogram.cob herprogram.cob
export COB_LIBRARY_PATH=/path/to/development/libraries
export COB_PRE_LOAD=db2-dev:other-dev-libs
cobcrun myprogram
有关详细信息,请参阅常见问题解答,希望永远隐藏在上面的链接。
指出1.1版本的 OpenCOBOL不支持EXEC语法。 DB2 EXEC预处理器可能生成也可能不生成适用于OpenCOBOL的COBOL。 我被告知Oracle Pro * COBOL EXEC END-EXEC预编译器生成COBOL源代码,该代码可与OpenCOBOL一起编译以链接到Oracle SQL。