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