Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU - |
目次 索引 |
関数として定義したファンクションルーチンを実行するには、SQL文の選択リストや値指定などに指定して実行します。ファンクションルーチンを呼び出す応用プログラムの翻訳・結合編集では、sqlcc、sqlfcc、sqlpcobコマンドに、-W2000オプションを指定してください。以下に、SQL文の記述例を示します。
例
スキーマ名およびルーチン名は、それぞれ、“SCM1”、“USERFUNC001”であるとします。
SELECT SCM1.USERFUNC001(NAME, CODE, AGE) FROM SCM1.CUSTOMER WHERE AGE BETWEEN :AGE1 AND :AGE2 ; |
ファンクションルーチンは、Symfoware/RDBから新たに起動されるプロセスで実行されます。ファンクションルーチンが動作するプロセスの実効ユーザIDは、RDBシステム内で一つを指定します。実効ユーザIDの指定は、システム用の動作環境ファイルの実行パラメタEXTERNAL_PROCESS_USERで行います。システム用の動作環境ファイルの実行パラメタについては、UNIX系の場合は“セットアップガイド”を、Windowsの場合は“RDB管理者ガイド”を参照してください。
ファンクションルーチンを実行するプロセスが何らかの原因で異常終了した場合、以下のエラーメッセージが出力されます。
コンソールおよびRDBREPORTで指定したメッセージ・ログファイルに、以下のエラーメッセージが出力されます。
Mon Aug 18 17:47:07 2003 rdb: INFO: qdg13783i:ファンクショルーチンを実行したプロセスのコアファイルを採取しました コアファイル名は /usr/local/rdb1/rdbcore/core_fnc_9356.030818.174709です (システム名=rdb1) Mon Aug 18 17:47:08 2003 rdb: ERROR: qdg13781u:ファンクションルーチンを実行するプロセスが異常終了しました 原因=signal number : 11 (システム名=rdb1) Mon Aug 18 17:47:09 2003 rdb: ERROR: qdg13782u: ファンクションルーチンのライブラリ内で異常が発生しました (システム名=rdb1) (注) |
注) qdg13782uのメッセージが出力された場合は、ファンクションルーチンのライブラリ内で、何らかの原因で異常が発生したことを示します。メッセージに示された原因の情報をもとに、異常終了した原因を調査してください。
イベントログに以下のエラーメッセージが出力されます。
qdg13783i:ファンクショルーチンを実行したプロセスのコアファイルを採取しました コアファイル名はcore_fnc_1496.20030818.205903です (システム名=RDB1) |
qdg13781u:ファンクションルーチンを実行するプロセスが異常終了しました 原因=exception code : 0xc0000005 (システム名=RDB1) |
qdg13782u: ファンクションルーチンのライブラリ内で異常が発生しました (システム名=RDB1) (注) |
注) qdg13782uのメッセージが出力された場合は、ファンクションルーチンのライブラリ内で、何らかの原因で異常が発生したことを示します。メッセージに示された原因の情報をもとに、異常終了した原因を調査してください。
目次 索引 |