ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(データベース連携サービス編)
Interstage

H.9.1 Windows(R)の場合

Windows(R)のトランザクション運用のサンプルプログラムの使用方法について、それぞれ以下の内容で説明します。

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

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



本サンプルでは、サーバアプリケーションからSymfoware/RDBにアクセスします。
本サンプルのファイル構成を以下に示します。
ファイルは、「C:\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)でコンパイルする場合、以下の点に注意してください。

  • 本サンプルプログラムのプロジェクトファイルは、InterstageをC:\配下にインストールした状態を想定して提供しているため、他のフォルダにインストールした場合は、FileViewのLibrary Filesを変更する必要があります。

  • 参照するインクルードファイルの追加
    ツール(T)-オプション(O)のディレクトリを選択し、表示するディレクトリ(S):インクルードファイルに標準設定されているフォルダに加え、以下のフォルダを追加しておく必要があります。

    • C:\Interstage\ots\include

    • C:\Interstage\odwin\include

    • C:\Interstage\extp\include

    • C:\Interstage\td\include


コンパイル

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


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

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ファイル)を参照し、原因を取り除いてください。