Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU - |
目次 索引 |
第4章 ルーチンを利用するアプリケーションの作成 | > 4.2 ファンクションルーチンを利用する場合 | > 4.2.4 ライブラリの作成 |
ファンクションルーチンのライブラリは、動的リンクライブラリとして作成します。
動的モードを指定して共有オブジェクトを作成します。
cc -KPIC -G -o <ライブラリ名> <ソースファイル名>... |
作成したライブラリは、ファンクションルーチン定義文のLIBRARY句で指定するディレクトリに格納してください。
例
cc -KPIC -G -o /usr/local/lib/libuserfunc001.so userfunc001.cSQLSignalMSG関数を使用する場合は、ライブラリlibsqlsigm.soを動的結合する必要があります。また、インクルードファイルsqlsigm.hをインクルードする必要があります。
例
cc -KPIC -G -o /usr/local/lib/libuserfunc001.so -L/opt/FSUNrdb2b/lib -lsqlsigm -I/opt/FSUNrdb2b/include (1) (2) (3) userfunc001.c(1) RDBライブラリパス指定
(2) RDBライブラリ名
(3) RDBインクルードパス指定
動的モードを指定して共有オブジェクトを作成します。
gcc -fPIC -shared -o <ライブラリ名> <ソースファイル名>... |
作成したライブラリは、ファンクションルーチン定義文のLIBRARY句で指定するディレクトリに格納してください。
例
gcc -fPIC -shared -o /usr/local/lib/libuserfunc001.so userfunc001.cSQLSignalMSG関数を使用する場合は、ライブラリlibsqlsigm.soを動的結合する必要があります。また、インクルードファイルsqlsigm.hをインクルードする必要があります。
例
gcc -fPIC -shared -o /usr/local/lib/libuserfunc001.so -L/opt/FJSVrdb2b/lib -lsqlsigm -I/opt/FJSVrdb2b/include (1) (2) (3) userfunc001.c(1) RDBライブラリパス指定
(2) RDBライブラリ名
(3) RDBインクルードパス指定
Dynamic-Link Library(DLL)を作成します。
DLLの対象プラットフォームは、サーバが動作するプラットフォームと同じにします。Itanium版64ビットEEの場合はItanium、それ以外の場合はWin32を対象プラットフォームとしてDLLを作成します。
Microsoft(R) Visual Studioでの作成手順の例を以下に示します。
[ファイル(F)]メニューから、[新規作成(N)]で[プロジェクト(P)]を選択します。
[新しいプロジェクト]ウインドウにて、[プロジェクトの種類(P)]で[Visual C++]の[Win32]を選択し、[テンプレート(T)]で[Win32 プロジェクト]を選択します。
[新しいプロジェクト]ウインドウにて、[プロジェクト名(N)]を指定し、[場所(L)]にライブラリ作成場所を指定します。[ソリューションのディレクトリを作成(D)]のチェックボックスのチェックを外します。[OK]を選択します。
例
プロジェクト名 = USERFUNC001 位置 = D:\FORSYMFO\FUNCMAKE\USERFUNC001指定した位置に、作成したCプログラムファイルを格納しておきます。
ファンクションルーチンのライブラリ内でSQLSignalMSG関数を使用する場合は、インクルードファイルsqlsigm.hをインクルードする必要があります。このインクルードファイルは、<サーバ機能のインストール先>\ESQL\INCLUDEまたは<クライアント機能のインストール先>\ESQL\INCLUDEに格納されています。
[Win32 アプリケーション ウィザード]ウインドウの[Win32 アプリケーション ウィザードへようこそ]の画面にて[次へ>]を選択します。
[Win32 アプリケーション ウィザード]ウインドウの[アプリケーションの設定]の画面にて、[アプリケーションの種類]で[DLL]を選択します。[追加オプション]で[空のプロジェクト(E) ]のチェックボックスをチェックします。[完了]を選択します。
Itanium版64ビットEEの場合、事前にVisual Studioのプロジェクト設定で64ビットのプロジェクトを作成しておく必要があります。
[ビルド(B)]の[構成マネージャ(O)...]から[構成マネージャ]ウィンドウを開きます。
[プロジェクトのコンテキスト (ビルドまたは配置するプロジェクト構成をチェック)(R):]の[プラットフォーム]のプルダウンから<新規作成...>を選択します。
[新しいプロジェクト プラットフォーム]ウィンドウを開きます。[新しいプラットフォーム(P):]のプルダウンから“Itanium”を選択し、[OK]をクリックします。
その際、[構成マネージャ]の[アクティブ ソリューション プラットフォーム(P):]のプルダウンと、[プロジェクトのコンテキスト (ビルドまたは配置するプロジェクト構成をチェック)(R):]の[プラットフォーム]で、目的のプラットフォームが選択されていることを確認します。
確認ができたら[構成マネージャ]の[閉じる]をクリックします。
[プロジェクト(P)]の、[既存項目の追加(G)]から、作成したCプログラムファイルをプロジェクトに追加します。
例
D:\FORSYMFO\FUNCMAKE\USERFUNC001\USERFUNC001.C
ファンクションルーチンのライブラリ内でSQLSignalMSG関数を使用する場合は、インクルードディレクトリにSymfoware ServerのINCLUDEディレクトリを追加し、サーバのプラットフォームに対応した以下のライブラリをリンクする必要があります。
Itanium版64ビットEEの場合
リンクするライブラリ … f3cwsqlsigm_ia64.lib
上記以外の場合
リンクするライブラリ … f3cwsqlsigm.lib
インクルードパスを設定します。[プロジェクト(P)]の[プロパティ(P)]で[構成(C):]のプルダウンから“すべての構成”、[プラットフォーム(P):]のプルダウンから“すべてのプラットフォーム”を選択します。
[構成プロパティ]の[C/C++]で[全般]の[追加のインクルードディレクトリ]に<サーバ機能のインストール先>\ESQL\INCLUDEまたは<クライアント機能のインストール先>\ESQL\INCLUDEを追加し、[OK]をクリックします。
ライブラリを設定します。[プロジェクト(P)]の、[既存項目の追加(G)]から、使用するライブラリをプロジェクトに追加します。
[ビルド(B)]から[ソリューションのビルド(B)]を選択して、ライブラリを作成します。
作成したライブラリを、ファンクションルーチン定義文のLIBRARY句で指定するディレクトリに格納します。
例
D:\FORSYMFO\FUNCMAKE\USERFUNC001\RELEASE\USERFUNC001.DLL ↓ 複写 D:\FORSYMFO\FUNCLIB\USERFUNC001.DLL
目次 索引 |