Home » RDBMS Server » Networking and Gateways » Calling External Dll Issue - RPC
Calling External Dll Issue - RPC [message #66131] Sun, 09 December 2001 19:17 Go to next message
Nitin Koshy
Messages: 1
Registered: December 2001
Junior Member
a.) A Win32 .dll which contains one function 'GetFactorial' was created
using Delphi, and the dll was placed at 'C:oracleDll' at the oracle server.

b.) A Oracle Library was created using : Create Or replace library FACTDLL as 'C:oracleDllFactD.dll'

c.) An Oracle Function was created within the package TEST1 as :
function NewFacto(n in Number) return number is EXTERNAL
NAME "GetFactorial"
LIBRARY FACTDLL
LANGUAGE C;

d) At oracle server, RPC service, OracleTNSListener were active.

e) Finally I call the function as
Select TEST1.NewFacto(3) from dual;

But this returns error :
ORA-28575 : unable to open RPC connection to external procedure agent.

It seems , ORA-28575 is related to invalid configuration of 'listener.ora' file at the
server, for the external procedure agent 'EXTPROC.EXE' [[in bin folder]] which handles external procedures.

Have tried multiple options with 'listener.ora' and 'tnsnames.ora' but still
the same error occurs.

Am including my listener, tnsnames configuration at server below.

Please help me out

thanx and regs
nitin koshy

# TNSNAMES.ORA
-----------------

INST1_HTTP.COSMICProcess.COSMICSOFT.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Processserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = SASMD.COSMICSOFT)
(PRESENTATION = http://admin)
)
)

INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Processserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = SASMSERV.COSMICSOFT.COM)
(PRESENTATION = http://admin)
)
)

SASMD.COSMICProcess.COSMICSOFT.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Processserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SASMD.COSMICSOFT)
)
)

EXTPROC_CONNECTION_DATA.COSMICProcess.COSMICSOFT.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)

SASMSERV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Processserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SASMSERV.COSMICSOFT.COM)
)
)

# TNSNAMES.ORA
---------------
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Processserver)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = SASMSERV.COSMICSOFT.COM)
(ORACLE_HOME = C:oracleora81)
(SID_NAME = SASMSERV)
)
(SID_DESC =
(GLOBAL_DBNAME = SASMD.COSMICSOFT)
(ORACLE_HOME = C:oracleora81)
(SID_NAME = SASMD)
)
(SID_DESC =
(PROGRAM = C:oracleora81binextproc.exe)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:oracleora81)
)
)

----------------------------------------------------------------------
Re: Calling External Dll Issue - RPC [message #66344 is a reply to message #66131] Thu, 18 April 2002 10:32 Go to previous messageGo to next message
Guat
Messages: 1
Registered: April 2002
Junior Member
I am having similar problem and wondering if someone have reply you with solution.
Re: Calling External Dll Issue - RPC [message #66359 is a reply to message #66131] Tue, 30 April 2002 12:28 Go to previous messageGo to next message
Rodolfo Soto
Messages: 1
Registered: April 2002
Junior Member
The only usefull info i can give you is my tnsnames and listener sections
this from tnsnames.ora

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

this other from listener.ora

:oracleora81networkadminlistener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rsoto)(PORT = 1521))
)
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
)
(ADDRESS = (PROTOCOL = TCP)(HOST = rsoto)(PORT = 2481))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:oracleora81)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = RODO)
(ORACLE_HOME = C:oracleora81)
(SID_NAME = RODO)
)
(SID_DESC =
(GLOBAL_DBNAME = intertxt)
(ORACLE_HOME = C:oracleora81)
(SID_NAME = intertxt)
)
)

I hope you find the solution. Needless to say that these samples are working.

best regards
Re: Calling External Dll Issue - RPC [message #66818 is a reply to message #66131] Wed, 22 January 2003 12:58 Go to previous message
Ansgar Heege
Messages: 1
Registered: January 2003
Junior Member
I have still the same problem! Who has an idea to solve this problem. On some PC's it works with the same setting.
Previous Topic: listener for remote database
Next Topic: Microsoft ODBC for Oracle -- Porblem
Goto Forum:
  


Current Time: Fri Apr 19 08:18:41 CDT 2024