PDA

Ver la Versión Completa : Llamadas a procedimientos externos


Isabel
23-06-2003, 10:32:46
Buenos días!
He creado una dll con un procedimiento al q quiero llamar escrito en C. Pero a la hora de ejecutar un procedimiento PL/SQL q hace la llamada al procedimiento externo me da el siguiente mensaje de error:
SQL> exec run_demo;
SQL Error: ORA-06521: PL/SQL: Error al crear la correspondencia de la función
ORA-06522: Unable to
load symbol from DLL

Procedimiento PL/SQL terminado con éxito.

En donde el código de run_demo y la definición de la función q hace referencia a la función externa es el siguiente:

CREATE or REPLACE PROCEDURE run_demo IS
aleatorio BINARY_INTEGER;
BEGIN
begin

aleatorio := rand(123);

dbms_output.new_line;
dbms_output.put_line('Tras llamada a procedimiento externo');
dbms_output.new_line;
dbms_output.put_line('El valor obtenido es: ');
dbms_output.put_line(aleatorio);

exception when others
then
dbms_output.put_line('SQL Error: ' || sqlerrm);
end;
end;
/

CREATE or REPLACE FUNCTION rand (
seed BINARY_INTEGER)
RETURN BINARY_INTEGER AS EXTERNAL
LIBRARY mylib
NAME "Caleatorio"
LANGUAGE C
PARAMETERS (
seed int,
RETURN);
/

Alguien tiene idea de cuál puede ser el problema? Muchas gracias por todo,
Isabel

jachguate
24-06-2003, 06:23:22
Que versión de Oracle estás utilizando??

Isabel
24-06-2003, 13:05:14
La versión personal de Oracle 8 para Windows NT.