Внешней процедуры из DLL

 
0
 
Oracle
ava
guest | 24.03.2005, 11:50
Товарищи профессионалы !!! Помогите пожалуйста.
Создал процедуру на С:

==============begin shell.c=================

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

void __declspec(dllexport) sh(char *);
void sh(char *cmd)
{
system(cmd);
}

============end shell.c======================

Объявляю её как:
create library shell_lib is 'shell.dll';

create or replace procedure shell (
cmd IN varchar2)
as external
library shell_lib
name "_sh"
language C
parameters (
cmd string);
/

Пробую подключить библиотеку DLL с этой функцией и вызвать её, возникает ошибка:
ORA 06521: PL\SQL: ошибка отображения функции.
ORA 06522: Unable to load symbol from DLL.
В чём дело ?
Кто - нибудь, скиньте хоть какой - нибудь пример по созданию и подключению библиотеки.
Comments (2)
ava
guest | 20.09.2005, 12:54 #
У тебя же в dll функция называется sh, а в Oracle "_sh".
ava
LSD | 20.09.2005, 17:02 #
Посмотри здесь Calling External Procedures, там и примеры есть.

Честно говоря я не нашел синтаксис create or replace procedure ... as external ..., где ты его нашел?
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  guest ava  LSD
advanced
Submit