Thought, I'll share with the list, what I found on the subject today, m.b. it'll be helpful to somebody.
 
Under 8.1.5 on NT dll path specification in CREATE LIBRARY statement was case-insensitive:
 
create library externDDM as 'D:\OraNT\bin\ext_ddm.dll'
/
will work properly no matter what is the actual case used in path and file name, so "D:\OraNT\bin\ext_ddm.dll", as well as "D:\ORANT\Bin\ext_ddm.dll", or "D:\orant\BIN\ext_ddm.dll".
 
It's different under 9.2 on Windows XP.  Case used in file path and name in CREATE LIBRARY should exactly match the case used in Windows (what you see in Windows Explorer).  So, if the path in XP is "D:\orant\BIN" and the file name is "EXT_ddm.dll", then you statement should look exactly like:
 
create library externDDM as 'D:\orant\BIN\EXT_ddm.dll'
/
You don't get any error, when you issue CREATE LIBRARY (even if you use wrong case), but when you run code referencing external procedure in this dll, you get:
 
ORA-28595: Extproc agent : Invalid DLL Path
 
BTW, "ORA-28595" is not described in Oracle documentation (checked both 8.1 and 9.2).
 
Now, I'm not sure, if this problem is caused by 9.2 version or XP, just didn't have chance to try different configuration (like 8.1.5 on XP).
 
Igor Neyman, OCP DBA
[EMAIL PROTECTED]
 
 
 

Reply via email to