COBOL プログラムに次の形式で埋め込み SQL 文を記述すると、COBSQL を使用して Oracle、Sybase、または Informix のデータベース管理システム (DBMS) の SQL 機能を利用できます。
EXEC SQL SQL statement END-EXEC
また、埋め込み SQL 文を含むプログラムは、COBOL コンパイラでコンパイルする前に Oracle、Sybase、または Informix のプリコンパイラで処理する必要があります。この処理によって、埋め込み SQL 文が対応するデータベースサービス呼び出しに変換されます。さらに、ソース コードには COBOL ホスト変数をデータベースシステムで認識できる SQL 変数名にバインドするコードが追加されます。
この方法では、各データベースルーチンの呼び出し形式に留意する必要がありません。ただし欠点として、プログラムをデバッグする際に表示されるソース コードが、元の埋め込み SQL ではなく、プリコンパイラによる出力になります。この問題は COBSQL を使用すると回避できます。
COBSQL は、Micro Focus COBOL とサード パーティのスタンドアロン型プリコンパイラを統合するインターフェイスとして機能するため、EXEC SQL 文を含むプログラムのデバッグと、プリコンパイラで生成されたコードではなく元のソース コードの表示が可能です。
UNIX 環境で COBOL から DSBMS にアクセスするには、COBOL ランタイム システムが DBMS に使用される API ルーチンを認知することが必要になります。データベース ベンダーによっては、次のいずれかを作成するスクリプトが提供されています。
このスクリプトには cob コマンドが含まれており、cob コマンドへのオプションを修正することによって、スクリプトの影響を制御することができます。詳細は、「cob (cob32またはcob64) コマンド」を参照してください。