Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Help with External Procedures
Have you tried using an underscore in the "name" part?
that worked for me..
CREATE OR REPLACE FUNCTION Test RETURN BINARY_INTEGER AS EXTERNAL
LIBRARY planet_utils
NAME "_Test"
LANGUAGE C;
/
Jan
Andrew Tacchi wrote:
> I am having problems with using external procedures.
>
> For testing I have created a simple DLL which I know works.
>
> #define DllExport __declspec( dllexport )
>
> DllExport int Test()
> {
> return 12;
> }
>
> Then in Oracle done the following
>
> create or replace library planet_utils as 'c:\winnt\pldll.dll';
> /
>
> CREATE OR REPLACE FUNCTION Test RETURN BINARY_INTEGER AS EXTERNAL
> LIBRARY planet_utils
> NAME "Test"
> LANGUAGE C;
> /
>
> create or replace procedure test_dll as
> l_count binary_integer;
> begin
> l_count := Test;
> end;
> /
>
> exec test_dll
>
> ERROR at line 1:
> ORA-06521: PL/SQL: Error mapping function
> ORA-06522: Unable to load symbol from DLL
> ORA-06512: at "TACCHI.TEST", line 0
> ORA-06512: at "TACCHI.TEST_DLL", line 4
> ORA-06512: at line 1
>
> Does anybody have any ideas on what the problem is
>
> Cheers
>
> Andrew Tacchi
Received on Tue Jan 26 1999 - 02:33:43 CST