COBOL からのデータベースへのアクセス

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 ホスト宣言