アプリケーション構築の手引き

IBM VisualAge C++ for OS/2 バージョン 3

この節では以下のトピックを取り上げています。

注:VisualAge C++ コンパイラーは、 %DB2PATH%\samples\c および %DB2PATH%\samples\cpp ディレクトリーにある C と C++ の両方のサンプル・プログラムに使用されます。 これらのいずれのディレクトリーでも、同じコマンド・ファイルが使用されます。 これらのファイルには、ファイルの拡張子に応じて、 C または C++ のいずれかのソース・ファイルを受け入れるコマンドが含まれています。

DB2 CLI アプリケーション

%DB2PATH%\samples\cli にある bldcli には、 DB2 CLI プログラムを作成するためのコマンドが入っています。 このパラメーター %1 には、ソース・ファイルの名前を指定します。

必要なパラメーターはこのパラメーターだけであり、 組み込み SQL を含まない CLI プログラムに必要な唯一のパラメーターです。 組み込み SQL プログラムを作成するためにはデータベースへの接続が必要なため、 3 つのパラメーターがオプションとして用意されています。 2 番目のパラメーターは $2 で、 接続するデータベースの名前を指定します。 3 番目のパラメーターは $3 で、 データベースのユーザー ID を指定します。 そしてもう 1 つが $4 で、 データベースのパスワードを指定します。

プログラムに組み込み SQL が含まれている場合 (拡張子が .sqc の場合) は、 embprep コマンド・ファイルが呼び出されてそのプログラムをプリコンパイルし、 .c という拡張子のプログラム・ファイルを生成します。

@echo off
rem  bldcli command file - OS/2
rem  Builds a CLI program with IBM VisualAge C++.
rem  Usage: bldcli prog_name [ db_name [ userid password ]]
if exist "%1.sqc" call embprep %1 %2 %3 %4
if exist "%1.sqx" call embprep %1 %2 %3 %4
if "%1" == "" goto error
rem Compile the error-checking utility.
 
icc -C+ -O- -Ti+ utilcli.c
rem Compile the program.
if exist "%1.sqx" goto cpp
icc -C+ -O- -Ti+ %1.c
 
goto link_step
:cpp
icc -C+ -O- -Ti+ %1.cxx
rem Link the program.
:link_step
ilink /NOFREE /NOI /DEBUG /ST:64000 /PM:VIO %1.obj utilcli.obj,%1.exe,NUL,db2cli.lib;
goto exit
:error
 
echo Usage: bldcli prog_name [ db_name [ userid password ]]
:exit
@echo on
 


bldcli のコンパイルおよびリンク・オプション

コンパイル・オプション

icc
IBM VisualAge C++ コンパイラー。
-C+
コンパイルのみを実行し、リンクは実行しません。 本書では、コンパイルとリンクが別個のステップであることを前提としています。
-O-
最適化なし。 最適化をオフにしてデバッガーを使用する方が簡単です。
-Ti+
デバッガー情報を生成します。

リンク・オプション

ilink
リンク編集に ilink リンカーを使用します。
/NOFREE
自由書式ではありません。
/NOI
大 / 小文字を無視しません。 大文字小文字を区別する識別子を強制します。
/DEBUG
デバッグ情報を組み込みます。
/ST:64000
スタック・サイズとして少なくとも 64 000 を指定します。
/PM:VIO
プログラムが OS/2 ウィンドウで稼働することを可能にします。
%1.obj
オブジェクト・ファイルを組み込みます。
utilcli.obj
エラー検査用のユーティリティー・オブジェクト・ファイルを組み込みます。
%1.exe
実行可能ファイルを指定します。
NUL
デフォルト値を受け入れます。
db2cli.lib
DB2 CLI ライブラリーとリンクします。

他のコンパイラー・オプションについては、コンパイラーの資料をご覧ください。

ソース・ファイル tbinfo.c からサンプル・プログラム tbinfo を構築するには、 次のようにします。

   bldcli tbinfo

結果として、実行可能ファイル tbinfo.exe が作成されます。 この実行可能ファイルを実行するには、次の実行可能名 (拡張子なし) を入力します。

   tbinfo

組み込み SQL アプリケーションの構築および実行

ソース・ファイル dbusemx.sqc から組み込み SQL アプリケーション dbusemx を作成する方法には、 次の 3 つがあります。

  1. 同じインスタンスにあるサンプル・データベースに接続している場合は、 次のように入力します。
       bldcli dbusemx
    
  2. 同じインスタンスにある他のデータベースに接続している場合は、 さらにデータベース名も入力します。
       bldcli dbusemx database
    
  3. 他のインスタンスにあるデータベースに接続している場合は、 さらにそのデータベース・インスタンスのユーザー ID とパスワードも入力します。
       bldcli dbusemx database userid password
    

結果として、実行可能ファイル dbusemx.exe が作成されます。

この組み込み SQL アプリケーションを実行する方法には次の 3 つがあります。

  1. 同じインスタンスにある sample データベースにアクセスする場合は、 ただ実行可能ファイルの名前 (拡張子なし) を入力します。
       dbusemx
    
  2. 同じインスタンスにある他のデータベースにアクセスする場合は、 実行可能ファイル名とデータベース名を入力します。
       dbusemx database
    
  3. 他のインスタンスにあるデータベースにアクセスする場合は、 実行可能ファイル名、データベース名、 およびそのデータベース・インスタンスのユーザー ID とパスワードを入力します。
       dbusemx database userid password
    

DB2 API を使用する DB2 CLI アプリケーション

DB2 には、CLI サンプル・プログラムが含まれています。 このサンプル・プログラムは、DB2 API を使用してデータベースを作成およびドロップし、 CLI 機能を複数のデータベースで使用する方法を示します。 DB2 API を使用するサンプルは、 表 7 にある CLI サンプル・プログラムの説明の中に示されています。

%DB2PATH%\samples\cli のコマンド・ファイル bldapi には、 DB2 API を使用する DB2 CLI プログラムを構築するコマンドが入っています。 このファイルは、 データベースを作成およびドロップするための DB2 API が入った utilapi ユーティリティー・ファイルでコンパイルおよびリンクします。 この点が、 このファイルと bldcli コマンド・ファイルの唯一の違いです。 bldapibldcli の両方に共通するコンパイルとリンクのオプションについては、 "DB2 CLI アプリケーション" を参照してください。

ソース・ファイル dbmconn.c からサンプル・プログラム dbmconn を作成するには、 次のようにします。

   bldapi dbmconn

結果として、実行可能ファイル dbmconn.exe が作成されます。 この実行可能ファイルを実行するには、次の実行可能名 (拡張子なし) を入力します。

   dbmconn

DB2 CLI ストアード・プロシージャー

%DB2PATH%\samples\cli にあるコマンド・ファイル bldclisp には、 CLI ストアード・プロシージャーを作成するためのコマンドが入っています。 このコマンド・ファイルは、 ストアード・プロシージャーをサーバー上の DLL 内に作成します。

このパラメーター %1 には、ソース・ファイルの名前を指定します。 コマンド・ファイルでは、 ソース・ファイル名 %1 を DLL 名に使用します。

@echo off
rem  bldclisp command file - OS/2
rem Builds a CLI stored procedure using the IBM VisualAge C++ compiler.
rem  Usage: bldclisp <prog_name>
if "%1" == "" goto error
rem Compile the error-checking utility.
 
icc -C+ -Ti+ -Ge- -Gm+ -W2 utilcli.c
rem Compile the program.
if exist "%1.cxx" goto cpp
icc -C+ -Ti+ -Ge- -Gm+ -W2 %1.c
goto link_step
:cpp
icc -C+ -Ti+ -Ge- -Gm+ -W2 %1.cxx
:link_step
rem Link the program and produce a DLL.
ilink /NOFREE /MAP /NOI /DEBUG /ST:64000 %1.obj utilcli.obj,%1.dll,,db2cli.lib,%1.def;
rem Copy the stored procedure DLL to the 'function' directory
copy %1.dll %DB2PATH%\function
goto exit
:error
 
echo Usage: bldclisp prog_name
:exit
@echo on
 


bldclisp のコンパイルおよびリンク・オプション

コンパイル・オプション

icc
IBM VisualAge C++ コンパイラー。
-C+
コンパイルのみを実行し、リンクは実行しません。 このコマンド・ファイルでは、コンパイルとリンクは別個のステップです。
-Ti+
デバッガー情報を生成します。
-Ge-
.DLL ファイルを作成します。 静的にリンクされる実行時ライブラリーのバージョンを使用します。
-Gm+
マルチタスキング・ライブラリーとリンクします。
-W2
警告、エラー、重大、および回復不能エラー・メッセージを出力します。

リンク・オプション

ilink
リンク編集に ilink リンカーを使用します。
/NOFREE
自由書式ではありません。
/MAP
マップ・ファイルを生成します。
/NOI
大 / 小文字を無視しません。 大文字小文字を区別する識別子を強制します。
/DEBUG
デバッグ情報を組み込みます。
/ST:64000
スタック・サイズとして少なくとも 64000 を指定します。
%1.obj
オブジェクト・ファイルを組み込みます。
%1.dll
ダイナミック・リンク・ライブラリーを作成します。
db2cli.lib
DB2 CLI ライブラリーとリンクします。
%1.def
モジュール定義ファイル。

他のコンパイラー・オプションについては、コンパイラーの資料をご覧ください。

ソース・ファイル spserver.c からサンプル・プログラム spserver を構築するには、 次のように入力します。

    bldclisp spserver

スクリプト・ファイルは、 共用ライブラリーをサーバー上の %DB2PATH%\function というパスにコピーします。

次に、サーバー上で spcreate.db2 スクリプトを実行して、 ストアード・プロシージャーをカタログ化します。 まず、データベースに接続します。

   db2 connect to sample

ストアード・プロシージャーがすでにカタログ化されている場合は、 次のコマンドを使用してそれらをドロップすることができます。

   db2 -td@ -vf spdrop.db2

その後、次のコマンドでストアード・プロシージャーをカタログ化します。

   db2 -td@ -vf spcreate.db2

カタログ化が終了したら、データベースを 1 度停止してから再始動し、 新しい共用ライブラリーが認識されるようにします。 必要であれば、共用ライブラリーにファイル・モードを設定して、 DB2 インスタンスからアクセスできるようにします。

共用ライブラリー spserver を作成したなら、 CLI クライアント・アプリケーション spclient を構築することができます。 これは、共用ライブラリー内のストアード・プロシージャーを呼び出すアプリケーションです。

spclient は、 コマンド・ファイル bldcli を使用して構築することができます。 詳細については、 "DB2 CLI アプリケーション"を参照してください。

共用ライブラリーを呼び出すためには、 次のように入力してサンプル・クライアント・アプリケーションを実行します。

spclient database userid password

ここで、それぞれは次のものを表します。

database
接続先のデータベースの名前です。 名前は、sample かその別名、またはその他のデータベース名にすることができます。

userid
有効なユーザー ID です。

password
有効なパスワードです。

クライアント・アプリケーションは共用ライブラリー spserver にアクセスし、 様々なストアード・プロシージャー関数をサーバー・データベース上で実行します。 出力は、クライアント・アプリケーションに戻されます。

DB2 API と組み込み SQL アプリケーション

%DB2PATH%\samples\c%DB2PATH%\samples\cpp にあるコマンド・ファイル bldapp.cmd には、 DB2 アプリケーション・プログラムを作成するためのコマンドが入っています。

第 1 パラメーター %1 には、ソース・ファイルの名前を指定します。 これは組み込み SQL を含まないプログラムに必要な唯一のパラメーターです。 組み込み SQL プログラムを作成するためにはデータベースへの接続が必要なため、 3 つのパラメーターがオプションとして用意されています。 2 番目のパラメーターは %2 で、 接続するデータベースの名前を指定します。 3 番目のパラメーターは %3 で、 データベースのユーザー ID を指定します。 そしてもう 1 つが %4 で、 データベースのパスワードを指定します。

組み込み SQL プログラムの場合、bldapp は、 プリコンパイルおよびバインドのコマンド・ファイル embprep にパラメーターを渡します。 データベース名が指定されない場合は、 デフォルトの sample データベースが使用されます。 なお、ユーザー ID とパスワードのパラメーターは、 プログラムを構築するインスタンスとデータベースのあるインスタンスが異なる場合にのみ必要になります。

@echo off
rem bldapp command file -- OS/2
rem Builds a VisualAge C++ application program
rem Usage: bldapp <prog_name> [ <db_name> [ <userid> <password> ]]
if exist "%1.sqx" goto embedded
if exist "%1.sqc" goto embedded
goto non_embedded
:embedded
rem Precompile and bind the program.
call embprep %1 %2 %3 %4
rem Compile the program.
if exist "%1.cxx" goto cpp_embedded
icc -c utilemb.c
icc -C+ -O- -Ti+ %1.c
 
goto link_embedded
:cpp_embedded
icc -c utilemb.cxx
icc -C+ -O- -Ti+ %1.cxx
goto link_embedded
:non_embedded
rem Compile the program.
if exist "%1.cxx" goto cpp
icc -c utilapi.c
icc -C+ -O- -Ti+ %1.c
 
goto link_non_embedded
:cpp
icc -c utilapi.cxx
icc -C+ -O- -Ti+ %1.cxx
goto link_non_embedded
rem Link the program.
:link_embedded
ilink /NOFREE /NOI /DEBUG /ST:64000 /PM:VIO %1.obj utilemb.obj,,,db2api;
goto exit
:link_non_embedded
ilink /NOFREE /NOI /DEBUG /ST:64000 /PM:VIO %1.obj utilapi.obj,,,db2api;
:exit
@echo on
 

bldapp のコンパイルおよびリンク・オプション

コンパイル・オプション

icc
IBM VisualAge C++ コンパイラー。
-C+
コンパイルのみを実行し、リンクは実行しません。 本書では、コンパイルとリンクが別個のステップであることを前提としています。
-O-
最適化なし。 最適化をオフにしてデバッガーを使用する方が簡単です。
-Ti+
デバッガー情報を生成します。

リンク・オプション

ilink
リンク編集に ilink リンカーを使用します。
/NOFREE
自由書式ではありません。
/NOI
大 / 小文字を無視しません。 大文字小文字を区別する識別子を強制します。
/DEBUG
デバッグ情報を組み込みます。
/ST:64000
スタック・サイズとして少なくとも 64000 を指定します。
/PM:VIO
プログラムが OS/2 ウィンドウで稼働することを可能にします。
utilemb.obj
組み込み SQL プログラムの場合に、 エラー・チェックを行う組み込み SQL ユーティリティー・オブジェクト・ファイルを含みます。
utilapi.obj
組み込み SQL プログラムでない場合に、 エラー・チェックを行う DB2 API ユーティリティー・オブジェクト・ファイルを含みます。
db2api
DB2 ライブラリーとリンクします。

他のコンパイラー・オプションについては、コンパイラーの資料をご覧ください。

ソース・ファイル client.c から DB2 API 非組み込み SQL サンプル・プログラム client を構築するには、 次のようにします。

   bldapp client

結果として、実行可能ファイル client.exe が作成されます。

この実行可能ファイルを実行するには、実行可能ファイル名 (拡張子なし) を入力します。

   client

組み込み SQL アプリケーションの構築および実行

ソース・ファイル updat.sqc から組み込み SQL アプリケーション updat を構築する方法には、 次の 3 つがあります。

  1. 同じインスタンスにあるサンプル・データベースに接続している場合は、 次のように入力します。
       bldapp updat
    
  2. 同じインスタンスにある他のデータベースに接続している場合は、 さらにデータベース名も入力します。
       bldapp updat database
    
  3. 他のインスタンスにあるデータベースに接続している場合は、 さらにそのデータベース・インスタンスのユーザー ID とパスワードも入力します。
       bldapp updat database userid password
    

結果として、実行可能ファイル updat.exe が作成されます。

この組み込み SQL アプリケーションを実行する方法には次の 3 つがあります。

  1. 同じインスタンスにある sample データベースにアクセスする場合は、 ただ実行可能ファイルの名前 (拡張子なし) を入力します。
       updat
    
  2. 同じインスタンスにある他のデータベースにアクセスする場合は、 実行可能ファイル名とデータベース名を入力します。
       updat database
    
  3. 他のインスタンスにあるデータベースにアクセスする場合は、 実行可能ファイル名、データベース名、 およびそのデータベース・インスタンスのユーザー ID とパスワードを入力します。
       updat database userid password
    

組み込み SQL ストアード・プロシージャー

%DB2PATH%\samples\c%DB2PATH%\samples\cpp にあるコマンド・ファイル bldsrv には、 組み込み SQL ストアード・プロシージャーを作成するためのコマンドが入っています。 コマンド・ファイルは、 ストアード・プロシージャーをサーバー上の DLL にコンパイルします。

第 1 パラメーター %1 には、ソース・ファイルの名前を指定します。 第 2 パラメーター %2 には、接続先のデータベースの名前を指定します。 ストアード・プロシージャーは、 必ずデータベースが常駐するインスタンスに構築される必要があるため、 ユーザー ID やパスワードを指定するパラメーターはありません。

第 1 パラメーター (ソース・ファイル名) だけが必須です。 データベース名は任意で指定します。 データベース名を指定しない場合、 プログラムはデフォルトの sample データベースを使用します。

コマンド・ファイルでは、 ソース・ファイル名 %1 を DLL 名に使用します。

@echo off
rem bldsrv command file -- OS/2
rem Builds a VisualAge C++ stored procedure
rem Usage: bldsrv <prog_name> [ <db_name> ]
rem Precompile and bind the program.
call embprep %1 %2
rem Compile the program.
if exist "%1.cxx" goto cpp
icc -C+ -Ti+ -Ge- -Gm+ -W2 %1.c
goto link_step
:cpp
icc -C+ -Ti+ -Ge- -Gm+ -W2 %1.cxx
:link_step
rem Link the program.
ilink /NOFREE /NOI /DEBUG /ST:64000 %1.obj,%1.dll,,db2api,%1.def;
rem Copy the stored procedure to the %DB2PATH%\function directory.
copy %1.dll %DB2PATH%\function
@echo on
 

bldsrv のコンパイルおよびリンク・オプション

コンパイル・オプション

icc
IBM VisualAge C++ コンパイラー。
-C+
コンパイルのみを実行し、リンクは実行しません。 このコマンド・ファイルでは、コンパイルとリンクは別個のステップです。
-Ti+
デバッガー情報を生成します。
-Ge-
.DLL ファイルを作成します。 静的にリンクされる実行時ライブラリーのバージョンを使用します。
-Gm+
マルチタスキング・ライブラリーとリンクします。
-W2
警告、エラー、重大、および回復不能エラー・メッセージを出力します。

リンク・オプション

ilink
リンク編集に ilink リンカーを使用します。
/NOFREE
自由書式ではありません。
/NOI
大 / 小文字を無視しません。 大文字小文字を区別する識別子を強制します。
/DEBUG
デバッグ情報を組み込みます。
/ST:64000
スタック・サイズとして少なくとも 64000 を指定します。
%1.dll
ダイナミック・リンク・ライブラリーを作成します。
db2api
DB2 ライブラリーとリンクします。
%1.def
モジュール定義ファイル。

他のコンパイラー・オプションについては、コンパイラーの資料をご覧ください。

sample データベースに接続している場合に、 ソース・ファイル spserver.sqc からサンプル・プログラム spserver を構築するには、 次のように入力します。

    bldsrv spserver

他のデータベースに接続しているときは、 さらにデータベース名も入力します。

    bldsrv spserver database

コマンド・ファイルは、 共用ライブラリーをサーバー上の %DB2PATH%\function というパスにコピーします。

次に、サーバー上で spcreate.db2 スクリプトを実行して、 ストアード・プロシージャーをカタログ化します。 まず、データベースに接続します。

   db2 connect to sample

ストアード・プロシージャーがすでにカタログ化されている場合は、 次のコマンドを使用してそれらをドロップすることができます。

   db2 -td@ -vf spdrop.db2

その後、次のコマンドでストアード・プロシージャーをカタログ化します。

   db2 -td@ -vf spcreate.db2

カタログ化が終了したら、データベースを 1 度停止してから再始動し、 新しい共用ライブラリーが認識されるようにします。 必要であれば、共用ライブラリーにファイル・モードを設定して、 DB2 インスタンスからアクセスできるようにします。

共用ライブラリー spserver を作成したなら、 共用ライブラリーにアクセスするクライアント・アプリケーション spclient を構築することができます。

spclient は、 コマンド・ファイル bldapp を使用して構築することができます。 詳細については、 "DB2 API と組み込み SQL アプリケーション"を参照してください。

ストアード・プロシージャーを呼び出すためには、 次のように入力してサンプル・クライアント・アプリケーションを実行します。

spclient database userid password

ここで、それぞれは次のものを表します。

database
接続先のデータベースの名前です。 名前は、sample かその別名、またはその他のデータベース名にすることができます。

userid
有効なユーザー ID です。

password
有効なパスワードです。

クライアント・アプリケーションは共用ライブラリー spserver にアクセスし、 様々なストアード・プロシージャー関数をサーバー・データベース上で実行します。 出力は、クライアント・アプリケーションに戻されます。

ユーザー定義関数 (UDF)

%DB2PATH%\samples\c%DB2PATH%\samples\cpp にあるコマンド・ファイル bldudf には、 UDF を作成するためのコマンドが入っています。

UDF に組み込み SQL ステートメントを含めることはできません。 このため、UDF プログラムを作成する際に、 データベースに接続してプログラムをプリコンパイルおよびバインドすることはしません。

コマンド・ファイルは、ソース・ファイルの名前を指定する、 %1 というパラメーターを取ります。 ソース・ファイル名 %1 を DLL 名に使用します。

@echo off
rem  bldudf command file -- OS/2
rem Builds a VisualAge C++ user-defined function (UDF)
rem  Usage: bldudf <prog_name>
if "%1" == "" goto error
rem Compile the program.
if exist "%1.cxx" goto cpp
icc -C+ -Ti+ -Ge- -Gm+ -W2 %1.c
goto link_step
:cpp
rem icc -C+ -Ti+ -Ge- -Gm+ -W2 %1.cxx
:link_step
rem Link the program.
ilink /NOFREE /MAP /NOI /DEBUG /ST:64000 %1.obj,%1.dll,,db2api db2apie,%1.def;
rem Copy the UDF to the %DB2PATH%\function directory
copy %1.dll %DB2PATH%\function
goto exit
:error
 
echo Usage: bldudf prog_name
:exit
@echo on
 

bldudf のコンパイルおよびリンク・オプション

コンパイル・オプション

icc
IBM VisualAge C++ コンパイラー。
-C+
コンパイルのみを実行し、リンクは実行しません。 このコマンド・ファイルでは、コンパイルとリンクは別個のステップです。
-Ti+
デバッガー情報を生成します。
-Ge-
.DLL ファイルを作成します。 静的にリンクされる実行時ライブラリーのバージョンを使用します。
-Gm+
マルチタスキング・ライブラリーとリンクします。
-W2
警告、エラー、重大、および回復不能エラー・メッセージを出力します。

リンク・オプション

ilink
リンク編集に ilink リンカーを使用します。
/NOFREE
自由書式ではありません。
/MAP
マップ・ファイルを生成します。
/NOI
大 / 小文字を無視しません。 大文字小文字を区別する識別子を強制します。
/DEBUG
デバッグ情報を組み込みます。
/ST:64000
スタック・サイズとして少なくとも 64000 を指定します。
%1.dll
ダイナミック・リンク・ライブラリーを作成します。
db2api
DB2 ライブラリーとリンクします。
db2apie
DB2 API エンジン・ライブラリーとリンクします。
%1.def
モジュール定義ファイル。

他のコンパイラー・オプションについては、コンパイラーの資料をご覧ください。

ユーザー定義関数プログラム udfsrv をソース・ファイル udfsrv.c から作成するには、 次のように入力します。

   bldudf udfsrv

スクリプト・ファイルは、 UDF をサーバー上の %DB2PATH%\function というパスにコピーします。

必要であれば、UDF にファイル・モードを設定してクライアント・アプリケーションから実行できるようにします。

udfsrv を作成したなら、 それを呼び出すクライアント・アプリケーション udfcli を構築できます。 このプログラムには DB2 CLI バージョンと組み込み SQL バージョンがあります。

DB2 CLI udfcli プログラムは、コマンド・ファイル bldcli.cmd を使用して、 %DB2PATH%\samples\cli udfcli.c ソース・ファイルから作成できます。 詳細については、"DB2 CLI アプリケーション" を参照してください。

組み込み SQL udfcli プログラムは、コマンド・ファイル bldapp を使用して、 %DB2PATH%\samples\c にあるソース・ファイル udfcli.sqc から構築することができます。 詳細については、"DB2 API と組み込み SQL アプリケーション"を参照してください。

UDF を呼び出すには、次のように実行可能ファイル名 (拡張子なし) を入力して、 サンプルの呼び出しアプリケーションを実行します。

   udfcli

この呼び出しアプリケーションは、 udfsrv ライブラリーから ScalarUDF 関数を呼び出します。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]