Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> AIX and extproc
Hello,
I try to use the feature of calling extern programs out of the oracle database on a AIX machine. This doesn't function.
My first question: is the extproc feature supported on the following platform:
OS: AIX 4.2.1.0
Database: Oracle8 Enterprise Edition Release 8.0.4.1.0
If this combination is ok, then my next question: I have built a shared library and changed the tnsnames.ora and listener.ora accordingly (as far as I know). The lsnrctl tells me the following at the command "status"
Services Summary...
EKAPE has 1 service handler(s) FAISR has 1 service handler(s) IRISR has 1 service handler(s) MAISR has 1 service handler(s) PLAKE has 1 service handler(s) PLAKR has 1 service handler(s) REPOS has 1 service handler(s) extproc_agent has 1 service handler(s)
You see here that there is one service handler for the extproc_agent up and running.
Now I call a function from my shared library and I get the error message ORA-28575.
SQL> begin
2 outputstr('/tmp/test.txt','a test');
3 end;
4 /
begin
*
FEHLER in Zeile 1:
ORA-28575: RPC-Verbindung mit externer Prozudurverarbeitung kann nicht
geöffnet werden
ORA-06512: in "PLAKE.OUTPUTSTR", Zeile 0
ORA-06512: in Zeile 2
This is my registration of the plsql-procdure:
Procedure outputstr (
path varchar2,
message varchar2)
AS EXTERNAL
LIBRARY c_utils
NAME "OutputString" -- quotes preserve lower case
LANGUAGE C
PARAMETERS (path STRING, message STRING);
I also created a library c_utils:
select * from user_libraries;
has the following result:
LIBRARY_NAME FILE_SPEC D STATUS ------------- -------------------------- - ------- C_UTILS /home/psaltis/c/libbla.so Y VALID
with
-rwxr-xr-x 1 psaltis staff 5789 Aug 10 15:28 libbla.so
in the correct directory.
And here comes the essential parts from the listener.ora
LISTENER =
(ADDRESS_LIST =
(ADDRESS=
(COMMUNITY=DEUBA_TCP)
(PROTOCOL=TCP)
(HOST=sppcs1.rcms.eur.deuba.com)
(PORT=1521)
) (ADDRESS = (PROTOCOL=ipc) (KEY=extproc_key) )
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
LOG_DIRECTORY_LISTENER = /home/oracle
LOG_FILE_LISTENER = listener.log
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLAKE)
(ORACLE_HOME=/home/oracle/product/8.0.4)
(PRESPAWN_MAX = 10)
) (SID_DESC = (SID_NAME=extproc_agent) (ORACLE_HOME=/home/oracle/product/8.0.4) (PROGRAM=extproc) )
And the tnsnames.ora
...
extproc_connection_data = (DESCRIPTION =
(ADDRESS = (PROTOCOL=IPC) (KEY=extproc_key) ) (CONNECT_DATA = (SID = extproc_agent) )
So what am I missing? Why is the rpc not funtioning?
Thank you
Markus Rehm-Hunke
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
Received on Tue Aug 17 1999 - 03:56:54 CDT