ExtProc: how to unload an external DLL library? [message #281624] |
Sun, 18 November 2007 18:54 |
rhjort
Messages: 1 Registered: November 2007
|
Junior Member |
|
|
Can I update the DLL without shutting down Oracle?
When I try to overwrite an external DLL file when Oracle DBMS is online and the function (ie: extproc) is already loaded into memory, an error occurs.
I need to do this when updating and testing a C function. When I shutdown the server I can do the DLL replacing. In production environment this procedure won't be possible.
On MS SQL Server, I use the following instructions to add, drop and unload the external procedure:
sp_addextendedproc 'xp_myfunc', 'C:\MSSQL\BIN\Custom.dll'
sp_dropextendedproc 'xp_myfunc'
dbcc xp_myfunc(free)
Is there anything similar to it on Oracle in order to definitely unload (ie: free) the external DLL file?
Here are the instructions I use to create the function:
CREATE LIBRARY libcustom AS 'C:\oraclexe\app\oracle\product\10.2.0\server\BIN\Custom.dll';
/
CREATE OR REPLACE FUNCTION myfunc(str IN VARCHAR2)
RETURN VARCHAR2 AS EXTERNAL NAME "myfunc" LIBRARY libcustom LANGUAGE C
PARAMETERS (str STRING, RETURN STRING);
/
Best regards,
Rodrigo Hjort
http://icewall.org/~hjort
|
|
|
|