動的共有ライブラリーをdb2サーバーにロードする

私はいくつかのユーティリティdb2プロシージャと関数の実装(言語C)を含んでいる共有ライブラリを持っています。今私はこれらのユーティリティー関数をdb2cmdから呼び出したいと思っています。

sysibm.sysdummy1からepiProcLibVer()を選択

To make this these utiliy functions installed into DB2 db server, i have placed this shared library (libDB2CLIWrapper.so) into /sqllib/function

私は、このライブラリを選択してdbサーバの共有メモリにロードするためにdb2 instaceを再起動しました。

それでも私は以下のように@ db2 cmdの下のエラーを取得しています:

db2 => select epiproclibver() from sysibm.sysdummy1 SQL0440N No authorized routine named "EPIPROCLIBVER" of type "FUNCTION" having compatible arguments was found. SQLSTATE=42884

今私はそれがdb2 dbサーバーに共有ライブラリの読み込みを行う正しい手順かどうかを知りたいですか?この共有ライブラリの関数にSQLクエリからアクセスするには?

0

1 答え

これは出発点でしょうか?

CREATE FUNCTION epiproclibver() RETURNS INT
  EXTERNAL NAME 'libDB2CLIWrapper!epiProcLibVer'
  NOT FENCED 
  SCRATCHPAD
  VARIANT
  NO EXTERNAL ACTION
  LANGUAGE C PARAMETER STYLE DB2SQL NO SQL:
1
追加された
Peterに感謝します。
追加された 著者 vchitta,