COBOL からデータベースにアクセスできるようにする方法について説明します。
埋め込み SQL 文が含まれている COBOL プログラムからデータベースにアクセスするためには、次のようにいくつかの方法があります。
- DBMS ベンダー プリコンパイラ テクノロジ
- これらのプリコンパイラは COBOL のソースファイルを入力として受け取り、その後、Micro Focus COBOL コンパイラによってコンパイルされた出力ファイルを生成します。この方法の長所と短所は次のとおりです。
- DBMS プリコンパイラは、OpenESQL のような Micro Focus の ECM テクノロジより優れたパフォーマンスを実現しますが、一般的には重要視されない程度です。
- DBMS プリコンパイラは、ANSI 仕様外の DBMS ベンダーによる拡張機能を使用できるようにします。
- コンパイルは、次の 2 段階のプロセスで実行されます。プリコンパイルに続く COBOL のコンパイル。
- デバッグは統合されません。つまり、COBOL に埋め込まれた元の SQL ではなく、プリコンパイラの出力をデバッグする必要があります。
- 現在、プリコンパイラは、
JVM マネージ コードをサポートしていません。
- プリコンパイラは CHARSET (EBCDIC) をサポートしません。
- Micro Focus COBSQL テクノロジ
- Micro Focus は、DBMS プリコンパイラと使用することでプリコンパイラと COBOL コンパイラ間の統合を大幅に改善できる COBSQL テクノロジを提供します。COBSQL は、たとえば、プリコンパイラによって生成されたソースコードではなく元の SQL 文をデバッグできます。また、COBSQL は CHARSET(EBCDIC) もサポートします。
- OpenESQL 向けの Micro Focus 外部コンパイラ モジュール (ECM) テクノロジ
- OpenESQL は、ユビキタス データベース アクセスを提供します。DBMS ベンダーのプリコンパイラは必要ありません。この方法の長所と短所は次のとおりです。
- OpenESQL は、対応する API の範囲内で、ODBC または
JDBC 接続を提供し、データベースを選びません。つまり、OpenESQL を使用する COBOL プログラムは、通常、最小限のコード変更だけで新しいデータベースにアクセスするように切り替えられることを意味しています。
- 現在、OpenESQL は、埋め込み SQL を使用した COBOL プログラムによる
JDBC アクセスを可能にする唯一のテクノロジです。
- OpenESQL のパフォーマンスは、DMBS ベンダーのプリコンパイラによってわずかに低下する可能性がありますが、一般的には重要視されない程度です。
- OpenESQL は、ANSI SQL 標準に基づいて埋め込み SQL をサポートするように意図されています。
- OpenESQL は一部の DBMS ベンダーが提供する ANSI 標準の拡張機能をサポートしていない可能性があります。
- DB2 ECM 向けの Micro Focus 外部コンパイラ モジュール (ECM) テクノロジ
- DB2 ECM は、COBOL 用の IBM プリコンパイラ環境のように、DB2 LUW とメインフレームの DB2 へのデータベース アクセスを提供します。DB2 ECM は次の機能をサポートし、DBMS ベンダーのプリコンパイラに勝る利点を提供します。
- CHARSET (EBCDIC)
- DSNTIAR と再マッピング SQLCODE
- COMP ホスト宣言