Hitachi

HiRDB データ連動機能 HiRDB Datareplicator Version 10


8.1.2 反映情報編集UOCの作成手順(UNIX)

UNIX版Datareplicatorで反映情報編集UOCを作成する手順について説明します。

反映情報編集UOCではSQLを使う場合,直接コンパイルを実行できません。いったんCコンパイラがコンパイルできるソースに変換した後,コンパイルする必要があります。UOCを実行するまでの手順を次の図に示します。

図8‒3 反映情報編集UOCの実行手順

[図データ]

〈この項の構成〉

(1) 作成方法

反映情報編集UOCインタフェース共有ライブラリの作成方法を次に示します。

  1. 反映情報編集UOCインタフェースを使う反映列を決定します。

  2. 反映情報編集UOCインタフェースの関数を作成します。

  3. 反映情報編集UOCでSQLを使用する場合,反映側HiRDBのSQLプリプロセサを使って,Cコンパイラがコンパイルできるソースファイルに変換します。

    SQLプリプロセサについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。

  4. 反映情報編集UOCインタフェースの関数をコンパイル/リンケージします。

(2) コンパイル及びリンケージ

コンパイル及びリンケージについてOSごとに説明します。

なお,リンケージの未解決エラーが発生する場合は,リンケージのときに必要なライブラリすべてを指定してください。

(a) HP-UX版の場合

  • UOCのコンパイル方法

    cc -c +DD64 -I /HiRDB/include -I /opt/hirdbds/include UOCソースファイル名
 -c:

オブジェクト作成オプション

 -I /HiRDB/include:

下線部分に,反映側HiRDBのインストールディレクトリを指定します。

 -I /opt/hirdbds/include:

Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。

 UOCソースファイル名:

SQLプリプロセサを使って,Cコンパイラがコンパイルできるソースファイルに変換した名称を指定します。

コンパイルコマンドの文法については,該当するOSのリファレンスマニュアルを参照してください。

  • UOCのリンケージ方法

    ld -o UOC名 -u main UOCオブジェクト名
     /opt/hirdbds/lib/libhdsuif.a /opt/hirdbds/lib/libhdsulb.so
     /opt/hirdbds/lib/libhdscom.so /opt/hirdbds/lib/libhdspck.so
     -lc -L /HiRDB/client/lib -lzcltk64
注1

UOC名には,実行形式ファイル名を指定します。この実行形式ファイル名を,反映定義に指定します。UOCの実行時には,実行形式ファイルを格納したディレクトリのパス名を環境変数PATHに設定しておいてください。

UOCオブジェクト名には,コンパイルして作成したオブジェクトファイル名を指定します。

/opt/hirdbds/lib下のライブラリは,反映側Datareplicatorが用意しているライブラリです。これらのライブラリは必ず指定してください。

注2

リンケージのコマンドに指定する実行ファイル名は,hdsで始まる名称 又はシステムにインストール済みのプログラムで禁止している名称を指定しないでください。

注3

-Lオプションの行は,UOC内からSQLを実行するときに指定するライブラリです。下線で示す部分には,反映側HiRDBをインストールしたディレクトリを指定します。

(b) AIX版の場合

  • UOCのコンパイル方法

    xlc -q64 -c -I /HiRDB/include -I /opt/hirdbds/include UOCソースファイル名
 -c:

オブジェクト作成オプション

 -I /HiRDB/include:

下線部分に,反映側HiRDBのインストールディレクトリを指定します。

 -I /opt/hirdbds/include:

Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。

 UOCソースファイル名:

SQLプリプロセサを使って,Cコンパイラがコンパイルできるソースファイルに変換した名称を指定します。

コンパイルコマンドの文法については,該当するOSのリファレンスマニュアルを参照してください。

  • UOCのリンケージ方法

    xlc -q64 -o UOC名 -u main UOCオブジェクト名
     /opt/hirdbds/lib/libhdspck.a /opt/hirdbds/lib/libhdsulb.a
     /opt/hirdbds/lib/libhdscom.a /opt/hirdbds/lib/libhdsuif.a
     -lm -lc -L /HiRDB/client/lib -Wl,-blibpath:.:/usr/lib:/lib:/HiRDB/client/lib -lzcltk64
注1

UOC名には,実行形式ファイル名を指定します。この実行形式ファイル名を,反映定義に指定します。UOCの実行時には,実行形式ファイルを格納したディレクトリのパス名を環境変数PATHに設定しておいてください。

UOCオブジェクト名には,コンパイルして作成したオブジェクトファイル名を指定します。

/opt/hirdbds/lib下のライブラリは,反映側Datareplicatorが用意しているライブラリです。これらのライブラリは必ず指定してください。

注2

リンケージのコマンドに指定する実行ファイル名は,hdsで始まる名称 又はシステムにインストール済みのプログラムで禁止している名称を指定しないでください。

注3

-Lオプションの行は,UOC内からSQLを実行するときに指定するライブラリです。下線で示す部分には,反映側HiRDBをインストールしたディレクトリを指定します。

(c) Linux版の場合

  • UOCのコンパイル方法

    gcc -c -I /HiRDB/include -I /opt/hirdbds/include UOCソースファイル名
 -c:

オブジェクト作成オプション

 -I /HiRDB/include:

下線部分に,反映側HiRDBのインストールディレクトリを指定します。

 -I /opt/hirdbds/include:

Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。

 UOCソースファイル名:

SQLプリプロセサを使って,Cコンパイラがコンパイルできるソースファイルに変換した名称を指定します。

コンパイルコマンドの文法については,該当するOSのリファレンスマニュアルを参照してください。

  • UOCのリンケージ方法

    gcc -o UOC名 -u main UOCオブジェクト名
     /opt/hirdbds/lib/libhdsuif.a /opt/hirdbds/lib/libhdsulb.so
     /opt/hirdbds/lib/libhdscom.so /opt/hirdbds/lib/libhdspck.so
     -lpthread -ldl
     -L/HiRDB/client/lib -lzclt64 -Wl,-R/HiRDB/client/lib
注1

-Rオプションは省略できます。ただし,省略した場合は,LD_LIBRARY_PATHに「HiRDBをインストールしたディレクトリ/client/lib」を追加しておく必要があります。

注2

-lは,反映側HiRDBのリンケージライブラリ名を指定します。

注3

-Lオプションの行は,UOC内からSQLを実行するときに指定するライブラリです。下線で示す部分には,反映側HiRDBをインストールしたディレクトリを指定します。