ここでは、本製品で提供するサンプルプログラム-Sample20-について説明します。
Sample20では、“6.19 オブジェクト指向プログラム(上級編)(Sample18)”で作成したプログラムを基に、オブジェクトを永続化する例を示します。Sample18では、オブジェクトはすべてメモリ上に作成されていました。そのため、プログラム終了時に、オブジェクトはすべて消えてしまいます。しかし、実際のシステムでは、プログラム終了後もデータは残っていなければなりません。つまり、一部のオブジェクトはプログラムの実行をまたがって存在し続けなければなりません。このようなオブジェクトを、“永続オブジェクト”と呼びます。
従来のプログラムでは、このようなデータはファイルやデータベースに格納されていました。永続オブジェクトの一般的な実現方法は、永続化するオブジェクトをファイルやデータベースのデータに対応付けることです。この例では、それぞれのオブジェクトをデータベース表の行に対応付けることにより、永続オブジェクトを実現しています。
オブジェクトの永続化の詳細は、“NetCOBOL ユーザーズガイド”の“オブジェクトの永続化”を参照してください。
データベースはサーバ上に存在し、クライアント側からこれにアクセスします。
データベースのアクセスは、ODBCドライバを経由して行います。ODBCドライバを使用するデータベースアクセスについては、“NetCOBOL ユーザーズガイド”の“リモートデータベースアクセス”を参照してください。
このプログラムを動作させるためには、以下の製品が必要です。
ODBCドライバマネージャ
ODBCドライバ
ODBCドライバの必要とする製品
データベース
データベースにODBCでアクセスするために必要な製品
概要
Sample18と同様に、従業員情報の管理(登録、削除、修正)、給与計算および住所録の印刷を行います。
このSampleでは、これらの機能に加えて、従業員オブジェクトおよび住所オブジェクトをデータベースに格納し、永続化する機能を追加しています。これらの機能は従業員オブジェクトおよび住所オブジェクトに、以下のメソッドを追加することにより実現しています。
オブジェクトメソッド
Store-Methodメソッド(オブジェクトをデータベースに格納する)
RetAt-Methodメソッド(従業員番号をキーに、オブジェクトをデータベースから読み込む)
RemoveAt-Methodメソッド(従業員番号をキーに、オブジェクトをデータベースから削除する)
Update-Methodメソッド(データベースに格納されるオブジェクトを更新する)
提供プログラム
Main.cob(COBOLソースプログラム)
Allmem.cob(COBOLソースプログラム)
Member.cob(COBOLソースプログラム)
Manger.cob(COBOLソースプログラム)
Address.cob(COBOLソースプログラム)
Set.cob(COBOLソースプログラム)
Allmem_m.cob(COBOLソースプログラム)
Bonu_man.cob(COBOLソースプログラム)
Bonu_mem.cob(COBOLソースプログラム)
Mem_set.cob(COBOLソースプログラム)
Mem_stor.cob(COBOLソースプログラム)
Man_set.cob(COBOLソースプログラム)
Man_stor.cob(COBOLソースプログラム)
Addr_m.cob(COBOLソースプログラム)
Sala_man.cob(COBOLソースプログラム)
Sala_mem.cob(COBOLソースプログラム)
COBOL85.CBR(実行用の初期化ファイル)
Sample20.kbd(キー定義ファイル)
Makefile(メイクファイル)
使用しているCOBOLの機能
使用しているオブジェクト指向の文/段落/定義
プログラムを実行する前に
ODBCドライバを経由してサーバのデータベースへアクセスできる環境を構築しておいてください。
デフォルトで接続するサーバを設定し、そのサーバのデータベース上に“住所表”および“従業員表”という名前の2つの表を作成しておいてください。
各表は、以下の形式で作成してください。
ODBC情報ファイル設定ツール(SQLODBCS.exe)を使用して、ODBC情報ファイルを作成してください。
Microsoft(R) SQLServer(TM)を使用する場合は、@SQL_CONCURRENCY(カーソルの同時実行)に、LOCK、ROWVERまたはVALUESを指定してください。
注意
ODBC情報設定ツールでは、サーバ情報の拡張オプション“カーソルライブラリを使用する”を有効にする必要があります。