8.3.2 送信データUOCの作成手順(UNIX)
UNIX版Datareplicatorで送信データUOCを作成する手順について説明します。送信データUOCを実行するまでの手順を次の図に示します。
- 〈この項の構成〉
(1) 作成方法
送信データUOCの共有ライブラリの作成方法を次に示します。
-
送信データUOCでチェックする更新情報を決定します。
-
送信データUOCの関数を作成します。
-
送信データUOCの関数をコンパイル/リンケージします。
(2) コンパイル及びリンケージ
コンパイル及びリンケージについてOSごとに説明します。
なお,リンケージの未解決エラーが発生する場合は,リンケージのときに必要なライブラリすべてを指定してください。
(a) HP-UX版の場合
-
UOCのコンパイル方法
cc -c +DD64 +z -I/opt/hirdbds/include UOCソースファイル名 〔UOCソースファイル名〕…
- -c:
-
オブジェクト作成オプション
- +z:
-
位置独立コード作成オプション
- -I:
-
Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。
-
UOCのリンケージ方法
ld -b -o libhdesuoc.so UOCオブジェクトファイル名 〔UOCオブジェクトファイル名〕…
(b) AIX版の場合
-
UOCのコンパイル方法
xlc -q64 -c -I /opt/hirdbds/include UOCソースファイル名〔UOCソースファイル名〕…
- -c:
-
オブジェクト作成オプション
- -I:
-
Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。
-
UOCのリンケージ方法
xlc -q64 -bM:SRE -bnoentry -bE:/opt/hirdbds/lib/libhdesuoc.exp -o libhdesuoc.a UOCオブジェクトファイル名 〔UOCオブジェクトファイル名〕…
(c) Linux版の場合
-
UOCのコンパイル方法
gcc -c -fPIC -I/opt/hirdbds/include UOCソースファイル名 〔UOCソースファイル名〕…
- -c:
-
オブジェクト作成オプション
- -fPIC:
-
位置独立コード作成オプション
- -I:
-
Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。
-
UOCのリンケージ方法
gcc -shared -o libhdesuoc.so UOCオブジェクトファイル名 〔UOCオブジェクトファイル名〕…
(3) 注意事項
作成した送信データUOCのライブラリは,任意のディレクトリに格納できます。ただし,/opt/hirdbds/lib下にあるlibhdesuoc.so(HP-UX版の場合はlibhdesuoc.so,Linux版の場合はlibhdesuoc.so,AIX版の場合はlibhdesuoc.exp)とは入れ替えないでください。
UOCを実行する前に,抽出システム定義のnode_shlibpathオペランドに送信データUOCライブラリ(libhdesuoc.sl又はlibhdesuoc.so)が格納してあるディレクトリを指定しておいてください。node_shlibpathオペランドに指定したディレクトリ下に送信データUOCライブラリがないときは,全更新情報を送信対象とします。