Загрузите динамическую разделяемую библиотеку на сервер db2 - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть общая библиотека, которая содержит реализацию (язык C) некоторых служебных процедур и функций db2.Теперь я хочу вызвать эти служебные функции из db2cmd как

select epiProcLibVer() from sysibm.sysdummy1

. Чтобы сделать эти функции, установленные на сервере БД DB2, я разместил эту общую библиотеку (libDB2CLIWrapper.so<DB2InstallFolder>/sqllib/function

Я перезапустил db2 instace, чтобы выбрать и загрузить эту библиотеку в общую память сервера db.

Тем не менее я получаю приведенную ниже ошибку @ 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-запроса?

1 Ответ

1 голос
/ 06 февраля 2012

это может быть отправной точкой?

CREATE FUNCTION epiproclibver () RETURNS INT
  EXTERNAL NAME 'libDB2CLIWrapper!epiProcLibVer'
  NOT FENCED 
  SCRATCHPAD
  VARIANT
  NO EXTERNAL ACTION
  LANGUAGE C PARAMETER STYLE DB2SQL NO SQL:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...