Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Oracle 8.04 External Prozedure Call

Re: Oracle 8.04 External Prozedure Call

From: <mpir_at_compuserve.com>
Date: 1998/03/05
Message-ID: <6dmfj3$q9t$1@nnrp1.dejanews.com>

In article <34FD622F.48E0_at_ERL9.SIEMENS.NET>,   BBB <FRANZ.BACHTRAEGL_at_ERL9.SIEMENS.NET> wrote:
>
> HELP!!!!!
>
> We are going to use Oracle 8.04. We installed a Oracle 8 Server with a
> database, connected the
> Client with it.
>
> Then we must use the external Procedure Call. We read in the online
> Documentation that we
> have to initialiye a second Listener named external_prozedure_listener.
> OK, he is running, and i can look at him with the Admin Tool lsnrctl80.
>
> But if I try to call the "C" Programm included in a DLL(Library/Package)
> the Error 28575 appears.
>
> I don't know what we have configured wrong....
>
> I copied the TNSNAMES.ORA, LNSNAMES.ORA, SQLNET.ORA file into this mail,
> and
> the PL/SQL Scripts for creating and calling the c-programm.
>
> Do you know the error's ???
>
> Thanks for answering
>
> bye Franz Bachtraegl , Germany
>
> --------------------------------------------------------------------------------------------
>
> Die Datei TNSNAMES.ORA:
>
> # C:\ORANT\NET80\ADMIN\TNSNAMES.ORA Configuration
> File:C:\orant\net80\admin\tnsnames.ora
> # Generated by Oracle Net8 Assistant
>
> APROD =
> (DESCRIPTION =
> (ADDRESS = (PROTOCOL = TCP)(HOST = erlm568a)(PORT = 1521))
> (CONNECT_DATA = (SID = prod))
> )
>
> TFTP.WORLD =
> (DESCRIPTION =
> (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
> (CONNECT_DATA = (SID = tftp))
> )
>
> PROD =
> (DESCRIPTION =
> (ADDRESS = (PROTOCOL = TCP)(HOST = erlm568a)(PORT = 1521))
> (CONNECT_DATA = (SID = prod))
> )
>
> EXTPROC_CONNECTION_DATA.WORLD =
> (DESCRIPTION =
> (SDU = 2048)
> (ADDRESS = (PROTOCOL = IPC)(Key = exkey))
> (CONNECT_DATA = (SID = extproc)(GLOBAL_DBNAME = entw))
> (SOURCE_ROUTE = YES)
> )
>
> ENTW =
> (DESCRIPTION =
> (ADDRESS = (PROTOCOL = TCP)(HOST = erlm568a)(PORT = 1521))
> (CONNECT_DATA = (SID = entw))
> )
>
> BEQ-LOCAL.WORLD =
> (DESCRIPTION =
> (ADDRESS = (PROTOCOL = IPC)(Key = export))
> (CONNECT_DATA = (SID = entw))
> )
>
> SFINGER.WORLD =
> (DESCRIPTION =
> (ADDRESS = (PROTOCOL = IPC)(Key = entw))
> (CONNECT_DATA = (SID = entw))
> )
>
> TCP-LOOPBACK.WORLD =
> (DESCRIPTION =
> (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
> (CONNECT_DATA = (SID = ORCL))
> )
>
> --------------------------------------------------------------------------------------------
>
> Die Datei LISTENER.ORA :
>
> # C:\ORANT\NET80\ADMIN\LISTENER.ORA Configuration
> File:C:\orant\net80\admin\listener.ora
> # Generated by Oracle Net8 Assistant
>
> PASSWORDS_LISTENER= (oracle)
>
> LISTENER =
> (ADDRESS_LIST =
> (ADDRESS = (PROTOCOL = IPC)(KEY = oracle.world))
> (ADDRESS = (PROTOCOL = IPC)(KEY = ORCL))
> (ADDRESS = (PROTOCOL = IPC)(KEY = ENTW))
> (ADDRESS = (PROTOCOL = IPC)(KEY = exkey))
> (ADDRESS = (PROTOCOL = TCP)(HOST = ERLM568A)(PORT = 1521))
> )
>
> EXTERNAL_PROCEDURE_LISTENER =
> (ADDRESS = (PROTOCOL = IPC)(KEY = exkey))
>
> SID_LIST_EXTERNAL_PROCEDURE_LISTENER =
> (SID_LIST =
> (SID_DESC =
> (PROGRAM = extproc)
> (SID_NAME = extproc)
> )
> (SID_DESC =
> (GLOBAL_DBNAME = entw)
> (ORACLE_HOME = c:\orant)
> (SID_NAME = entw)
> )
> )
>
> SID_LIST_LISTENER =
> (SID_LIST =
> (SID_DESC =
> (SID_NAME = tftp)
> (PROGRAM = tftpd)
> )
> (SID_DESC =
> (SID_NAME = sfinger)
> (PROGRAM = sfingerd)
> )
> (SID_DESC =
> (SID_NAME = extproc)
> (PROGRAM = extproc)
> )
> (SID_DESC =
> (GLOBAL_DBNAME = erlm568a)
> (SID_NAME = entw)
> )
> (SID_DESC =
> (GLOBAL_DBNAME = erlm568a)
> (SID_NAME = prod)
> )
> )
>
> ################
> # Filename......: listener.ora
> # Node..........: local.world
> # Date..........: 24-MAY-94 13:23:20
> ################
>
> TRACE_LEVEL_EXTERNAL_PROCEDURE_LISTENER = SUPPORT
>
> -------------------------------------------------------------------------------------------
>
> Skript for creating the Library and the Package......
>
> REM
> REM Name GetTZ.sql
> REM
> REM Description This SQL script creates the package GetTZpkg containing
> REM function OGetTimeZone which defines the external
> procedure
> REM for the OGetTimeZone call exported in GETTZ.DLL.
> REM
> REM Functions
> REM OGetTimeZone() ==> Name of the Current TimeZone and
> the
> REM difference in minutes between it
> and UTC.
> REM
> REM Notes Please provide the the full path to GetTZ.DLL
> REM
> REM Modifications
> REM Sunil Mushran - 9/30/97 - Creation
> REM
> REM This script is for demonstration puposes.
> REM
>
> -- Enter full path to GetTZ.DLL
> CREATE OR REPLACE LIBRARY GETTZ AS
> 'D:\PCD98\ExterneProzeduren\GetTZ.DLL';
> /
>
> CREATE OR REPLACE PACKAGE GetTZpkg AS
>
> FUNCTION OGetTimeZone ( lBias OUT PLS_INTEGER, lpTZName OUT VARCHAR2,
> bDaylight OUT PLS_INTEGER, lpErrMsg OUT
> VARCHAR2 )
> RETURN PLS_INTEGER;
>
> END;
> /
>
> CREATE OR REPLACE PACKAGE BODY GetTZpkg AS
> FUNCTION OGetTimeZone ( lBias OUT PLS_INTEGER, lpTZName OUT VARCHAR2,
> bDaylight OUT PLS_INTEGER, lpErrMsg OUT
> VARCHAR2 )
> RETURN PLS_INTEGER AS
> EXTERNAL
> LIBRARY GETTZ
> NAME "OGetTimeZone"
> LANGUAGE C
> CALLING STANDARD C
> PARAMETERS ( lBias LONG, lpTZName STRING,
> lpTZName MAXLEN UNSIGNED SHORT,
> bDaylight INT, lpErrMsg STRING,
> lpErrMsg MAXLEN UNSIGNED SHORT );
>
> END;
> /
>
> -------------------------------------------------------------------------------------------------------------------
>
> PL/SQL Script start:
>
> Oracle8 Release 8.0.4.0.0 - Production
> PL/SQL Release 8.0.4.0.0 - Production
> SQLWKS> @D:\Pcd98\ExterneProzeduren\GetTZ\aufruf.sql
> SQLWKS> Rem
> SQLWKS> Rem Aufruf externe Prozedur
> SQLWKS> Rem
> SQLWKS>
> SQLWKS> DECLARE
> 2>
> 3> result PLS_INTEGER;
> 4>
> 5> lBias PLS_INTEGER;
> 6>
> 7> lpTZName VARCHAR2(100);
> 8>
> 9> bDaylight PLS_INTEGER;
> 10>
> 11> lpErrMsg VARCHAR2(100);
> 12> BEGIN
> 13> result := GetTZpkg.OGetTimeZone(lBias, lpTZName, bDaylight,
> lpErrMsg);
> 14>
> 15> dbms_output.put_line('Result = ' || to_char(result) );
> 16> dbms_output.put_line('Bias = ' || to_char(lBias) );
> 17> dbms_output.put_line('TZName = ' || lpTZName );
> 18> dbms_output.put_line('Daylight = ' || to_char(bDaylight) );
> 19> dbms_output.put_line('ErrMsg = ' || lpErrMsg );
> 20> END;
> 21>
> ORA-28575: unable to open RPC connection to external procedure agent
> ORA-06512: at "PCD98.GETTZPKG", line 0
> ORA-06512: at line 13
> SQLWKS> @D:\Pcd98\ExterneProzeduren\GetTZ\aufruf.sql
> SQLWKS> Rem
> SQLWKS> Rem Aufruf externe Prozedur
> SQLWKS> Rem
> SQLWKS>
> SQLWKS> DECLARE
> 2>
> 3> result PLS_INTEGER;
> 4>
> 5> lBias PLS_INTEGER;
> 6>
> 7> lpTZName VARCHAR2(100);
> 8>
> 9> bDaylight PLS_INTEGER;
> 10>
> 11> lpErrMsg VARCHAR2(100);
> 12> BEGIN
> 13> result := GetTZpkg.OGetTimeZone(lBias, lpTZName, bDaylight,
> lpErrMsg);
> 14>
> 15> dbms_output.put_line('Result = ' || to_char(result) );
> 16> dbms_output.put_line('Bias = ' || to_char(lBias) );
> 17> dbms_output.put_line('TZName = ' || lpTZName );
> 18> dbms_output.put_line('Daylight = ' || to_char(bDaylight) );
> 19> dbms_output.put_line('ErrMsg = ' || lpErrMsg );
> 20> END;
> 21>
> ORA-28575: unable to open RPC connection to external procedure agent
> ORA-06512: at "PCD98.GETTZPKG", line 0
> ORA-06512: at line 13
> SQLWKS> @D:\Pcd98\ExterneProzeduren\GetTZ\aufruf.sql
> SQLWKS> Rem
> SQLWKS> Rem Aufruf externe Prozedur
> SQLWKS> Rem
> SQLWKS>
> SQLWKS> DECLARE
> 2>
> 3> result PLS_INTEGER;
> 4>
> 5> lBias PLS_INTEGER;
> 6>
> 7> lpTZName VARCHAR2(100);
> 8>
> 9> bDaylight PLS_INTEGER;
> 10>
> 11> lpErrMsg VARCHAR2(100);
> 12> BEGIN
> 13> result := GetTZpkg.OGetTimeZone(lBias, lpTZName, bDaylight,
> lpErrMsg);
> 14>
> 15> dbms_output.put_line('Result = ' || to_char(result) );
> 16> dbms_output.put_line('Bias = ' || to_char(lBias) );
> 17> dbms_output.put_line('TZName = ' || lpTZName );
> 18> dbms_output.put_line('Daylight = ' || to_char(bDaylight) );
> 19> dbms_output.put_line('ErrMsg = ' || lpErrMsg );
> 20> END;
> 21>
> ORA-28575: unable to open RPC connection to external procedure agent
> ORA-06512: at "PCD98.GETTZPKG", line 0
> ORA-06512: at line 13
>

// *Cause:   Initialization of a network connection to the extproc agent did
//           not succeed. This can be caused by network problems, incorrect
//           listener configuration or incorrect transfer code.
// *Action:  Check listener configuration in LISTENER.ORA and TNSNAMES.ORA or
//           Oracle Names Server.
//

-----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/ Now offering spam-free web-based newsreading Received on Thu Mar 05 1998 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US