Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ORA-28595 "Invalid DLL path" and external procedure

455 views
Skip to first unread message

Dean

unread,
Jun 12, 2003, 7:18:56 PM6/12/03
to
Under Ora8i, calling external procedure worked fine. The DLL was in the
'bin' directory.

However, having installed oracle 9.2 I want to do the same.
Unfortunately, now I get the ORA-28595 error.
I read the docs (
http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/network.920/a96580/advcfg.htm
), regarding
external procedures and tried different thigs, without results.

I tried creating the lib in different ways

CREATE OR REPLACE LIBRARY SSLPAYTIME AS 'test.dll';

CREATE OR REPLACE LIBRARY SSLPAYTIME AS 'c:\oracle\ora92\bin\test.dll';

CREATE OR REPLACE LIBRARY SSLPAYTIME AS '${ORACLE_HOME}\bin\test.dll';

I tried adding the ENVS="EXTPROC_DLLS=ANY" to listener.ora, or also
ENVS="EXTPROC_DLLS=ONLY:${ORACLE_HOME}\bin\test.dll";

# LISTENER.ORA Network Configuration File:
C:\oracle\ora92\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = apollo)(PORT = 1521))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TESTDB)
(ORACLE_HOME = C:\oracle\ora92)
(SID_NAME = AIHOMEB)
)
(SID_DESC =
(PROGRAM = extproc)
(ORACLE_HOME = C:\ORACLE\ORA92)
(SID_NAME = PLSExtProc)
)
)

# TNSNAMES.ORA Network Configuration File:
C:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

AIHOMEB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = apollo)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTDB)
)
)

INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = apollo)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)


Is there anyone that had this problem, that could help?

Thanks

Jusung Yang

unread,
Jun 13, 2003, 2:53:59 AM6/13/03
to
I would stick with this

CREATE OR REPLACE LIBRARY SSLPAYTIME AS 'c:\oracle\ora92\bin\test.dll';

Where is your
ENVS="EXTPROC_DLLS=ANY"
in listener.ora
?

It should go here


> (SID_DESC =
> (PROGRAM = extproc)
> (ORACLE_HOME = C:\ORACLE\ORA92)
> (SID_NAME = PLSExtProc)

(ENVS="EXTPROC_DLLS=ANY")
> )

After changing the files, restart the listener.

- Jusung Yang


Dean <smeg...@hotmail.com> wrote in message news:<3EE90A60...@hotmail.com>...

Pinto

unread,
Jun 13, 2003, 10:48:23 AM6/13/03
to
the path in create library seems to be case sensitive.
I had a similar problem in 9i win2k. after lot of struggle, when i changed
the case of creat library it worked fine :-)
Pinto.

"Dean" <smeg...@hotmail.com> wrote in message
news:3EE90A60...@hotmail.com...

Jusung Yang

unread,
Jun 13, 2003, 2:33:09 PM6/13/03
to
"Pinto" <ucanm...@india.com> wrote in message news:<bcco96$6o9$1...@news.mch.sbs.de>...

> the path in create library seems to be case sensitive.
> I had a similar problem in 9i win2k. after lot of struggle, when i changed
> the case of creat library it worked fine :-)
> Pinto.
>

You sure about this? I never heard that the directory is case
sensitive on windows environment. UNIX yes, not windows. The following
in done on WinXP. I have a small c library that gives me GMT.


SQL> select * from user_libraries;

LIBRARY_NAME
------------------------------
FILE_SPEC
----------------------------------------
D STATUS
- -------
C1ORA
d:\oracle\ora92\lib\LibGet_Time.dll
Y VALID

SQL> set serveroutput on
SQL> declare
2 x date;
3 begin
4 universaltime(x);
5 dbms_output.put_line(to_char(x,'ddmmyy hh24:mi:ss'));
6 end;
7 /
130603 18:24:03

PL/SQL procedure successfully completed.

-- Change to upper case
SQL> create or replace library c1ora as
'd:\oracle\ora92\lib\LIBGET_TIME.DLL';
2 /

Library created.

SQL> set serveroutput on
SQL> declare
2 x date;
3 begin
4 universaltime(x);
5 dbms_output.put_line(to_char(x,'ddmmyy hh24:mi:ss'));
6 end;
7 /
130603 18:25:06

PL/SQL procedure successfully completed.


- Jusung Yang

0 new messages