ここでは、本製品で提供するサンプルプログラム-Sample28-について説明します。
Sample28では、COBOLによるCOMサーバプログラムのトランザクション管理をMTSで行う方法を示します。
COBOLアプリケーションで、MTS(Microsoft(R) Transaction Server)によるトランザクション管理を行う場合の詳細は、“NetCOBOL ユーザーズガイド”の“COM機能”を参照してください。
このプログラムを動作させるためには、以下の製品が必要です。
以下のいずれかの製品
Windows Server 2008 R2
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
Microsoft(R) Transaction Server 2.0以上
なお、このプログラムはODBCドライバを経由してデータベースにアクセスします。
このため、このプログラムを動作させるためには、以下の製品が必要です。
データベース
データベースにODBCでアクセスするために必要な製品
ODBCドライバ
ODBCドライバマネージャ
ODBCドライバを使用するデータベースアクセスについては、“NetCOBOL ユーザーズガイド”の“リモートデータベースアクセス”を参照してください。
注意
以降では、NetCOBOLのインストール先フォルダーをC:\COBOLとして説明しています。フォルダー名がC:\COBOLになっているところは、NetCOBOLをインストールしたフォルダーに変更してください。
概要
このプログラムでは、Sample25と同様にオンラインストアのアプリケーションを構築するための次の機能を提供します。
認証処理
在庫確認
オーダー登録
オーダー清算
ただし、このプログラムでは、トランザクションの管理をMTSの機能を使用して、COBOLプログラムから直接行っています。
Sample25では、埋込みSQL文のCOMMIT文/ROLLBACK文を使用して、トランザクションの管理をデータベースに任せていました。これは埋込みSQL文に慣れた人にはわかりやすい方法ですが、トランザクション管理をデータベースに任せることにより、データベースの処理に負荷がかかります。
このプログラムでは、トランザクションの管理はMTSの機能を使用して、COBOLプログラム自身で行います。これにより、データベースの処理の負荷が軽減されるとともに、より詳細なトランザクションの管理が可能となります。
MTSの機能を使用して、COBOLアプリケーションからトランザクションを管理するには、次の2つの方法があります。
COMサーバオブジェクトからオブジェクトが動作しているトランザクションを制御する。
COMクライアントからCOMサーバが動作しているトランザクションを制御する。
ここでは、前者の例を示します。
提供プログラム
DB_ACCESS.cob(COBOLソースファイル)
Online_Store.cob(COBOLソースファイル)
Storesv2.prj(プロジェクトファイル)
STORESV2.CBI(翻訳オプションファイル)
STORESV2_DLL.CSI(COMサーバ情報ファイル)
STORESV2.DEF(モジュール定義ファイル)
Makefile(メイクファイル)
使用しているCOBOLの機能
使用しているCOBOLの文
IF文
INVOKE文
INITIALIZE文
SET文
MOVE文
PERFORM文
埋込みSQL文 (CONNECT文、INSERT文、SELECT文、UPDATE文、ROLLBACK文、DISCONNECT文)
プログラムを実行する前に
ODBCドライバを経由してデータベースへアクセスできる環境を構築しておいてください。
デフォルトで接続するサーバを設定し、そのサーバのデータベース上に次の4つのテーブルを作成しておいてください。作成するテーブルの形式および格納するデータについては
“6.26 COM連携-COBOLによるCOMサーバプログラムの作成(Sample25)”を参照してください。
顧客
在庫
オーダー
オーダー明細
ODBC情報ファイル設定ツール(SQLODBCS.exe)を使用して、ODBC情報ファイル(ここではC:\DBMSACS.INFとします)を作成してください。