ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

【COBOL Compiler Enterprise Edition】Pro*COBOLで展開したCOBOLソースのコンパイル・リンク時のLNK2019エラー

質問内容

COBOL V1でPro*COBOLでプリコンパイルしたCOBOLソースプログラムをコンパイル・リンクすると、リンク時に「LNK2019: unresolved external symbol SQLADR」などのエラーが出力されます。
原因と対処法を教えてください。

回答内容

リンクエラー(LNK2019)の原因は、プログラム中で使用しているサブルーチンまたはファンクションが、 リンク時に指定しているオブジェクトおよびライブラリの中に存在していないためです。
COBOLソースプログラムに記述されたSQL文をOracle Pro*COBOLが展開すると、SQLADR、SQLBEX、SQLGSSなどのサブルーチンを呼び出すコードを生成するため、Pro*COBOLが提供するモジュールをリンクする必要があります。

対処法としましては、cobコマンド起動時に、必要なOracle Pro*COBOLのライブラリまたはオブジェクトをリンクする ようにしてください。
cobコマンドでのリンク方法は次のとおりです。
[Windows版]
環境変数LIBでライブラリが存在するフォルダを指定し、ライブラリ名を cob の引数に指定してください。
  例) Oracle11gの場合
    set ORACLE_HOME=c:\app\administrator\product\11.2.0\client_1
    set LIB=%LIB%;%ORACLE_HOME%\precomp\lib
    cob -M -CS sample.cob -o sample.exe orasql11.lib …

[Linux版]
-Lオプションでライブラリが存在するディレクトリを指定し、ライブラリ名をcobの引数に指定してください。
  例) cob -M -CS sample.cob -o sample.exe -L$ORACLE_HOME/lib $ORACLE_HOME/precomp/lib/cobsqlintf.o -lclntsh

実際のOracle Pro*COBOLのライブラリ名およびその他詳細は、Oracle Pro*COBOLのマニュアルをご覧ください。
COBOLでPro*COBOLと連携する際の注意事項は、以下のCOBOLのマニュアルをご覧ください。
「COBOL プログラミングの手引 21.2 アプリケーション 生成時の注意」

【確認済みのバージョン】V1
【カテゴリー】トラブルシューティング

製品名カテゴリ

COBOL

  • コンテンツID: 3150107636
  • 公開日: 2014年06月26日
  • 最終更新日:2014年06月26日

アンケート

サポート情報充実のためアンケートにご協力をお願いいたします。



コメント欄:
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。