В dll'ке есть функция которая на вход принимает строку и вернуть должна строку
extern "C" __declspec(dllexport) std::string test2(std::string val) {
return val + " abcdefg";
}
Заворачиваю ее в такой вид
create or replace FUNCTION test2(val in varchar2)
return varchar2
as external
LANGUAGE c
library my
name "test2"
parameters (val STRING, return STRING);
При вызове этой функции выдает ORA-28576: lost RPC connection to external procedure agent
Делаю такую аналогичную функцию с другим типом
extern "C" __declspec(dllexport) int test(int val) {
return val + 10;
}
Обертка:
create or replace FUNCTION test(val in pls_integer)
return pls_integer
as external
LANGUAGE c
library my
name "test"
parameters (val int, return int);
В этом случае все прекрасно работает.