Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編)
目次 索引 前ページ次ページ

付録C サンプル(C言語)

C.3 トランザクションアプリケーション(Windows(R)の場合)

 トランザクション運用のアプリケーションについてC言語を使用したサンプルプログラムをそれぞれ以下の内容で説明します。

サンプルプログラムの概要

 本サンプルによって行う運用について以下に示します。

 本サンプルでは、サーバアプリケーションからSymfoware/RDBにアクセスします。
 本サンプルのファイル構成を、以下に示します。
 ファイルはすべて、“Interstageインストールフォルダ\td\sample\OTSC”配下に格納されています。

No

ファイルの概要

ファイル名

(1)

IDLファイル

otssamplec.idl

(2)

サーバアプリケーションソース

otssamplec_s.ec

(3)

クライアントアプリケーションソース

otssamplec_c.c

(4)

ワークユニット定義ファイル

otssamplec.wu

(5)

リソース定義ファイル

rdbresource2.def

(6)

サンプルデータベース作成用バッチファイル

crtdbddl2.bat

(7)

サンプルデータベース作成用ファイル

dbinit.dat

(8)

サンプルデータベース作成用ファイル

crtdbddl2

(9)

サンプルデータベース削除用バッチファイル

drpdbddl2.bat

(10)

サンプルデータベース削除用ファイル

drpdbddl2

(11)

動作確認用プログラム

rdbselect2.ec

(12)

プリコンパイル用バッチファイル

otsc.bat

(13)

サーバアプリケーションプロジェクトファイル

Otssamplec_s.vcproj

(14)

クライアントアプリケーションプロジェクトファイル

Otssamplec_c.vcproj

(15)

動作確認用プログラムプロジェクトファイル

rdbselect2.vcproj

(16)

ソリューションファイル

Otsc.sln

(1)IDLファイル
 本サンプルで使用するIDLファイルです。
(2)サーバアプリケーションソース
 Symfoware/RDBにアクセスするサーバアプリケーションです。本ソースはC言語で記述されています。
(3)クライアントアプリケーションソース
 トランザクション制御を行うクライアントアプリケーションです。本ソースはC言語で記述されています。
(4)ワークユニット定義ファイル
 ワークユニット定義を行うための入力ファイルです。環境にあわせて一部修正する必要があります。
(5)リソース定義ファイル
 Symfoware/RDBを使用するためのリソース定義ファイルです。環境にあわせて一部修正する必要があります。
(6)サンプルデータベース作成用バッチファイル
 サンプル用のデータベースを作成するためのバッチファイルです。環境にあわせて一部修正する必要があります。
(7)サンプルデータベース作成用ファイル
 サンプル用のデータベースを作成するためのファイルです。
(8)サンプルデータベース作成用ファイル
 サンプル用のデータベースを作成するためのファイルです。環境にあわせて一部修正する必要があります。
(9)サンプルデータベース削除用バッチファイル
 サンプル用のデータベースを削除するためのバッチファイルです。
(10)サンプルデータベース削除用ファイル
 サンプル用のデータベースを削除するためのファイルです。
(11)動作確認用プログラム
 サンプルアプリケーションが正しく動作するか確認するためのプログラムです。
(12)プリコンパイル用バッチファイル
 サーバアプリケーションと動作確認用プログラムをプリコンパイルします。
(13)サーバアプリケーションプロジェクトファイル
 Microsoft(R) Visual C++(R)上でサーバアプリケーションをコンパイルするためのプロジェクトファイルです。
(14)クライアントアプリケーションプロジェクトファイル
 Microsoft(R) Visual C++(R)上でクライアントアプリケーションをコンパイルするためのプロジェクトファイルです。
(15)動作確認用プログラムプロジェクトファイル
 Microsoft(R) Visual C++(R)上で動作確認用プログラムをコンパイルするためのプロジェクトファイルです。
(16)ソリューションファイル
 Microsoft(R) Visual C++(R)上でプロジェクト構成を管理するためのファイルです。
注意
 本サンプルプログラムのほとんどは、そのままではコンパイルができません。各項の説明を良くお読みになり、お使いの環境にあわせて一部を修正する必要があります。
 本サンプルプログラムの実行環境や、開発環境(コンパイル環境)は、事前に整えておく必要があります。

サンプルプログラムのコンパイル

 コンパイルの方法について説明します。

コンパイルの準備

 コンパイルの前の準備について説明します。

 (1) Symfoware/RDBがインストールされていることを確認してください。
 (2) Cコンパイラがインストールされており、かつ動作可能なことを確認してください。
 (3) CORBAサービスが起動していることを確認してください。

注意
 Microsoft(R) Visual C++(R)でコンパイルする場合、下記の点に注意してください。
  1. 本サンプルプログラムのプロジェクトファイルは、InterstageをC:\配下にインストールした状態を想定して提供しているため、他のフォルダにインストールした場合はFileViewのLibrary Filesを変更する必要があります。
  2. 参照するインクルードファイルの追加
    ツール(T)−オプション(O)のディレクトリを選択し、表示するディレクトリ(S):インクルードファイルに標準設定されているフォルダに加え、下記のフォルダを追加しておく必要があります。

コンパイル

 本アプリケーションをコンパイルする手順を説明します。
 なお、本アプリケーションは、Microsoft(R) Visual C++(R)のプロジェクトを使用してコンパイルすることを前提としています。
 本サンプルを使用するにあたり、提供ファイルを任意のフォルダに複写し、複写先の環境にあわせて各ファイルをカストマイズすることをお勧めします。

 以下の記号を使用して説明します。

    > cd $CURRENT
    > tdc -c -mc otssamplec.idl ---------------------(a)
       サーバアプリケーションと動作確認用プログラム
       のプリコンパイル  --------------------------------(b)
       サーバアプリケーションのコンパイル  --------------(c)
       クライアントアプリケーションのコンパイル  --------(d)
       動作確認用プログラムのコンパイル  ----------------(e)

(a) IDLファイルをコンパイルします。


 tdcコマンドを実行することで、サーバアプリケーションとクライアントアプリケーションを作成するうえで必要なファイルが生成されます。
 なお、tdcコマンドはIDL定義をシステムに登録する機能も備えているため、すでにIDL定義が登録されている場合、tdcコマンドが異常終了します。その場合は、下記のオプションを指定してください。

  -update

例:C言語の場合

    > tdc -mc -update otssamplec.idl

(b) サーバアプリケーションと動作確認用プログラムをプリコンパイルします。

 以下のバッチファイルを実行すると、サーバアプリケーションはotssamplec_s.c、動作確認用プログラムはrdbselect2.cが作成されます。

    > otsc.bat

(c) サーバアプリケーションをコンパイルします。

 サーバアプリケーションのコンパイルはMicrosoft(R) Visual C++(R)のプロジェクトを使用して行います。コンパイルはプロジェクトのビルドを実行することにより、サーバアプリケーションの作成に必要なファイルのコンパイル、リンクを行います。
 また、IDLファイルの内容を変更した場合、再度(a)のIDLファイルのコンパイルを実施した後、サーバアプリケーションのリコンパイルを実施する必要があります。
 プロジェクトのビルドが正常に終了した場合、プロジェクトファイルと同じフォルダに、libotssamplec.dllが作成されます。

(d) クライアントアプリケーションをコンパイルします。

 クライアントアプリケーションのコンパイルはMicrosoft(R) Visual C++(R)のプロジェクトを使用して行います。コンパイルはプロジェクトのビルドを実行することにより、クライアントアプリケーションの作成に必要なファイルのコンパイル、リンクを行います。
 また、IDLファイルの内容を変更した場合、再度(a)のIDLファイルのコンパイルを実施した後、クライアントアプリケーションのリコンパイルを実施する必要があります。
 プロジェクトのビルドが正常に終了した場合、プロジェクトファイルと同じフォルダに、otssamplec_c.exeが作成されます。

(e) 動作確認用プログラムをコンパイルします。

 動作確認用プログラムのコンパイルはMicrosoft(R) Visual C++(R)のプロジェクトを使用して行います。コンパイルはプロジェクトのビルドを実行することにより、動作確認用プログラムの作成に必要なファイルのコンパイル、リンクを行います。
 プロジェクトのビルドが正常に終了した場合、プロジェクトファイルと同じフォルダに、rdbselect2.exeが作成されます。

サンプルプログラムの実行

 サンプルプログラムの実行方法について説明します。
 以下の記号を使用して説明します。

Interstageのセットアップ

 isinitコマンドを投入して、Interstageの動作環境をセットアップしてください。

XA連携用プログラムの作成

 以下の例を参考にXA連携用プログラムを作成してください。このコマンドによってXA連携用プログラム“symfoxa.dll”と“symfoxa.lib”が作成されます。

  > set LIB=%LIB%;$RDB\Sfwsv\Esql\Lib
  > cd $CURRENT
  > otsmkxapgm -s RDBII_xa_switch
      -r "F3cwdrv.lib F3cwxa.lib"
      -o $INTERSTAGE\bin\symfoxa.dll

リソース管理プログラムの作成

 以下の例を参考にリソース管理プログラムを作成してください。このコマンドによってリソース管理プログラム“rdbresource2.exe”が作成されます。

  > otslinkrsc -l $INTERSTAGE\bin\symfoxa.lib
      -r "F3cwdrv.lib F3cwxa.lib"
      -o rdbresource2.exe

リソース定義ファイルの登録

 リソース定義ファイルを動作環境にあわせて修正してください。修正にはテキストエディタを使用してください。リソース管理プログラムの登録には、リソース定義ファイル名を指定して行います。リソース管理プログラムを起動するマシンで、以下の例を参考に必ずotssetrscコマンドで登録してください。

  > otssetrsc -a -rf $CURRENT\rdbresource2.def

APMの作成

 以下の例を参考にSymfoware/RDB用のAPMを作成してください。このコマンドによってAPM“rdb”が作成されます。

 > tdlinkapm -l $INTERSTAGE\bin\symfoxa.lib 
     -r "F3cwdrv.lib F3cwxa.lib"
     -o rdb

ワークユニット定義の登録

 ワークユニット定義ファイルを動作環境にあわせて修正してください。修正にはテキストエディタを使用してください。
 次にワークユニットを登録します。

  > isaddwudef -o otssamplec.wu

Symfoware/RDBのセットアップ とデータベース作成/削除

 まず、Symfoware/RDBをセットアップし、データベースが作成できる状態にしてください。詳細はSymfoware/RDBのマニュアルを参照してください。
 次にサンプルデータベース作成用バッチファイルとサンプルデータベース作成用ファイルを動作環境にあわせて修正してください。

 最後に以下の例を参考にサンプルデータベースを作成します。ただし、以下の操作は、Symfoware/RDBを起動した後に操作してください。

  > crtdbddl2.bat

 また、作成したサンプルデータベースを削除する場合は以下のコマンドを投入します。

  > drpdbddl2.bat

Symfoware/RDBの起動

 Symfoware/RDBを以下のとおり起動してください。

  > rdbstart

Interstageの起動

 isstartコマンドを投入して、Interstageを起動してください。

リソース管理プログラムの起動

 otsstartrscコマンドを投入して、リソース管理プログラムを起動してください。

    > otsstartrsc -pg $CURRENT\rdbresource2.exe -n rdb_resource2

ワークユニットの起動

 以下のとおり、ワークユニットを起動します。

  > isstartwu OTSSAMPLEC

クライアントアプリケーションの起動

 以下のとおり、クライアントアプリケーションを起動します。

  > otssamplec_c

動作確認

 本サンプルプログラムではクライアントアプリケーションを起動するたびにデータベースRDB2のテーブルCAR_TABLEへレコードを追加します。このためクライアントアプリケーションを起動する前後で以下の確認用アプリケーションを実行すると、動作を確認することができます。

  > rdbselect2

 レコードの追加が確認できない場合は、“$AAA\OTSSAMPLEC\pppp\stdout”(ppppはpid)ファイルを参照し、原因を取り除いてください。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED