External procedure unix process id

Does oracle store the unix process id when an external procedure is called? I know the id of the oracle process is in v$process. But what of the external process itself?

I guess this one is just too hard a question.

Similar Messages

  • Error using EXTERNAL PROCEDURES on UNIX

    I'm having troubles to run external procedures on UNIX. I'm following the extern.c example that comes by default. It works very well on my NT enviornment, but not on Unix.
    I compiled the share library on my solaris OS, and then I create the library, procedures,etc.
    But when I try to run the procedure I received the following error:
    ERROR at line 1:
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: ld.so.1: extprocextproc: fatal: libucb.so.1: open failed: No such
    file or directory
    ORA-06512: at "SAMPLE.PLS_MAX", line 0
    ORA-06512: at "SAMPLE.USEIT", line 8
    ORA-06512: at line 1

    I'm having troubles to run external procedures on UNIX. I'm following the libtest1.c example that comes by default. It works very well on my NT enviornment, but not on Unix.
    I compiled the share library on my solaris OS, and then I create the library, procedures,etc.
    But when I try to run the procedure I received the following error:
    ERROR at line 1:
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: Unresolved external
    ORA-06512: at "YDBROW.ORA_TEST", line 0
    ORA-06512: at line 8

  • Unix process id for extproc

    Does oracle store the unix process id when an external procedure is called? I know the id of the oracle process is in v$process. But what of the external process itself?

    I guess this one is just too hard a question.

  • ORA-12203 while calling a form from external procedure

    Hi
    I am using oracle 10g 10.2.0.3.0 database with forms 6i. We have created a database procedure , which makes a call to external procedure(C program). Now this external procedure creates a process and process is creating a call to form.
    We have checked through the process explorer in the server, process is getting created successfully, but doesn't executed. We tried to start the process manually, it is throwing ora-12203: TNS unable to connect to destination.
    We are able to connect the database from form's runtime. but if this runtime is executed from a process which is created by external procedure, it is throwing ora-12203.
    Any idea?

    check tnsnames and listener files.verify the host and the port

  • External procedure with Pro*C in it

    I have some C functions that I have compiled into a shared library on Unix.
    One of the functions contains a SQL statement to insert into a table, so I
    compile the file with Pro*C. It compiles fine. I have another C program
    that calls the function within my shared library. It runs fine and the shared
    library does insert the data into the table.
    I create an Oracle library that points to the shared library, then create a stored
    function in the database that executes the routine in the shared library. At
    this point, everything seems in place. We have been using external procedures
    for a while, and they seem to work OK. This is the first one we have, though that
    has Pro*C code in it.
    When I execute the stored function to execute my Pro*C routine, I get the errors
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: Unresolved external.
    This shared library is the first one that we are using that has Pro*C in it. The
    documentation doesn't say anything about being able to use Pro*C routines
    as external procedures; but it doesn't say you can't. Am I attempting the impossible?
    If not, what am I missing?
    null

    Is your library object pointing to one shared library and in turn function in this library is 'looking' to another shared library? if so, that is not allowed

  • ORA-06520 when External Procedure run.

    I need to run a C application that will run an external procedure and I am getting the following errors reported when I run the function call in PL/SQL.
    The test program follows
    declare
    rn number;
    begin
    rn:=wpleca('CUSTCODE PASSTEST');
    END;
    The error that is generated is
    ERROR at line 1:
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: ld.so.1: extproc: fatal: libgcc_s.so.1: open failed: No such file or directory
    ORA-06512: at "CUSTOM.WPLECA", line 0
    ORA-06512: at line 4
    The C program follows
    #include<stdio.h>
    #include<stdlib.h>
    int sysrun(char *command) {
    int num;
    char str[80];
    strcpy (str, "/xxxx/test/adhoc/syscr/wpleca2unix.sh ");
    strcpy (str,command);
    num = system(str);
    return num;
    The C compile commands follow
    gcc -fPIC -c wpleca.c
    gcc -shared -o libwpleca.so wpleca.o
    The create library command follows
    CREATE OR REPLACE LIBRARY PLECA_LIB
    AS '/xxxx/test/adhoc/syscr/libwpleca.so'
    The create function call follows
    CREATE OR REPLACE FUNCTION wpleca (params_in in varchar2)
    return binary_integer
    as language C
    name "sysrun"
    library pleca_lib
    parameters(params_in string);
    The shared library and the script both exist with approporate permissions
    -rwxr-xr-x 1 root other 5800 Feb 27 14:12 /xxxx/test/adhoc/syscr/libwpleca.so
    -rwxrwxr-x 1 xyz test 1139 Feb 27 14:14 /xxxx/test/adhoc/syscr/wpleca2unix.sh
    Any help with this error would be most appreciated.

    We are getting the error, Has anyone faced this issue, appreciate your help in advance.
    ERROR at line 1:
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: ld.so.1: extproc: fatal: /tmp/utils.so: wrong ELF class: ELFCLASS32
    while trying to call the external C program
    Steps done for calling external procedure
    1.     Insert entries in the tnsnames.ora and listner.ora at oracle server location
    Tnsnames.ora
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC) (KEY = extproc_key))
    (CONNECT_DATA = (SID = extproc))
    Listner.ora
    CALLOUT_LISTENER =
    (ADDRESS_LIST =
    (ADDRESS =
    (PROTOCOL = IPC)
    (KEY = extproc_key)
    SID_LIST_CALLOUT_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = extproc)
    (ORACLE_HOME = /opt/oradba92/OraHome)
    (PROGRAM = extproc)
    (ENVS="EXTPROC_DLLS=ANY")
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ctsinpunsun10)(PORT = 1523))
    2.     restart the listener external service
    3.     create library using create library c_utils as ‘/tmp/c_utils.so’
    4.     create sample c program on /tmp location as test.c
    5.     compile c program on unix using cc test.c command
    For compile c program
    $ cc –c util.c command
    Create object file
    $cc –G –c util.c
    Create .so file
    $ld –r –o utils.so util.o
    6.     create object file of above c program using cc –G –c test.c , this command will create new object file as test.o
    7.     after creating the object file , create dynamic link using
    ld –r –o utils.so test.o
    8.     Give the permission to utils.so as 775
    Add “/tmp” path in LD_LIBRARY_PATH
    9.     using sqlplus execute the command “SELECT Plscallscdivisor_Func FROM dual” it will gives error as
    ERROR at line 1:
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: ld.so.1: extproc: fatal: /tmp/utils.so: wrong ELF class: ELFCLASS32
    Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
    Message was edited by:
    user573236

  • Problem with external procedure

    Please,
    i'm doing some experiments in Microsoft Win2003 environment calling a c function as external procedures.
    I've build a sample using Dev-C++ that make a DLL (i don't know c language) named sysDLL.dll
    DllClass::DllClass(char *cmd)
    int num;
    num = system(cmd);
    I need only to execute some OS command from PL/SQL (rdbms 10.2).
    I've putted DLL in $ORACLE_HOME\bin.
    Then I've created library with this statement :
    Create Library scott.c_sysdll as 'C:\oracle\product\10.2.0\db_3\bin\sysdll.dll'
    and at the end I've created the procedure :
    create or replace procedure scott.shell(cmd IN varchar2)
    as language C
    library c_SysDll
    name "DllClass"
    parameters (cmd string);
    But when I execute this procedure from sql*plus I've always get :
    ORA-06521: PL/SQL: Error mapping function
    ORA-06522: Unable to load symbol from DLL
    ORA-06512: at "SCOTT.SHELL", line 1
    ORA-06512: at line 1
    Please help me, thanks !

    Suggest that you first make it much simpler. Do not object orientation. Use plain vanilla flavour C. And even before using C, use a kernel call instead. For example, the gethostname() is a standard Socket call that you will find on many operating system (including Windows & Unix).
    The following code sample illustrates (can be run as is via SQL*Plus):<font color="blue">
    -- specify the external library (shared lib on Unix, DLL on Windows)
    create or replace library libc as 'libc.sl';
    -- The kernel call that we're going to wrap with a PL/SQL function:
    --      int gethostname(char *hostname, size_t size);
    -- wrapping this API call with a PL/SQL function
    create or replace function gethostname( hostname OUT string, size_t binary_integer ) return binary_integer is
            external
            library libc
            name "gethostname"
            language C
            calling standard C
            parameters
                    hostname        STRING,
                    size_t          INT
    -- calling the kernel API routine from within PL/SQL
    set serveroutput on
    declare
            host$   varchar2(60);
            rc$     integer;
    begin
            rc$ := gethostname( host$, 60 );
            dbms_output.put_line( 'hostname is ['|| host$ ||'] return code=['|| TO_CHAR(rc$) || ']' );
    end;
    /</font>
    <p>
    Of course, the DLL name for Window is different than the Shared Library ('libc.sl') used in the above snippet. Do not have a Win32 Oracle platform to test on, but you should find this API call in the winsock.dll library.
    <p>
    As for writing your custom extproc in C. Plain vanilla C is something as follows:
    int dosomestuff()
      return( 123456 );
    <p>
    Remember that this function has to be exported in the DLL interface.
    <p>
    Also keep in mind that using extproc is usually the last option to pursue when dealing with Oracle development. The basic rules are as follows:
    1. Do it in SQL.
    2. If it cannot be done in SQL, do it as a PL/SQL proc
    3. If if cannot be done in PL/SQL. do it as a Java stored proc
    4. If if cannot be done in Java, do is as an external proc<p>
    The times that I need to resort to using Java is less than a handful (most obvious one is using Java to gain o/s command line access). I have never put external proc code into production as we have yet to have a need for something so exceptional, that it cannot be done using SQL, PL/SQL or Java as the last resort.

  • External Procedure call - wait event - no response

    Executing SQL that use external library - I dont get any response
    I see wait event as 'External Procedure call' and no response, no errors are thrown.
    Am I missing something or how do I troubleshoot further...
    Your help very much appreciated.
    Please note I have no entry in TNSNAMES.ORA or LISTENER.ORA file for extproc connections.
    Oracle DB - Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    Listener - TNSLSNR for Linux: Version 11.2.0.3.0
    OS - Red Hat Enterprise Linux Server release 6.5
    DLL entry done ONLY in "/apps/oracle/product/11.2.0/dbhome_1/hs/admin/extproc.ora"
    SET EXTPROC_DLLS=ANY
    OS Environment LD_LIBRARY_PATH=
    LD_LIBRARY_PATH=/apps/oracle/product/11.2.0/dbhome_1/lib
    DLL File permission
    -rwxrwxr-x  1 oracle oinstall   8022832 Mar  6 12:55 libst_shapelib.so
    OS EXTPROC process is running
    oracle   17489     1  0 09:08 ?        00:00:00 extprocGISDEV (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))
    Library Path set at schema level as below
    select * from dba_libraries where library_name = 'ST_SHAPELIB';
    OWNER                          LIBRARY_NAME                   FILE_SPEC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        DYNAMIC STATUS
    SDE                            ST_SHAPELIB                    /apps/oracle/product/11.2.0/dbhome_1/lib/libst_shapelib.so                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       Y       VALID  

    Hello,
    This is posted in the incorrect community.  I think you need to be in SQL and PL/SQL
    Regards,
    Matt

  • External Procedure RPC Error

    In Oracle 8 for Solaris,
    I can RUN "External procedure Call" ...
    but When I Run "External procedure Call" in Oracle 8 for Linux
    the message is ....
    "unable to open RPC connection to external procedure agent"
    The listener.ora and tnsnames.ora files, I have checked,
    no problem!!
    Where is the problem ? is OS problem ?
    How to start RPC daemon in Linux ??.....
    I use Redhat 5.2 .......
    Thanks !
    null

    Dear Mark :
    I have followed your method, but not work for Linux ....
    I have succeeded for starting the external-procedure call by
    "oracle for Solaris" , no problem ....
    I think that "Linux RPC Daemon" is NOT running ...
    how to Start it ?
    I use Redhat 5.2 ....
    Thanks !
    -Franco-
    Mark Kirkwood (guest) wrote:
    : The listener config seems a little touchy under linux, and the
    : defualt files seem to not be sufficient.
    : I used the following setup...
    : listener.ora :
    : listener =
    : ( address_list =
    : ( address = (protocol=ipc)(key=extproc0)
    : sid_list_listener =
    : ( sid_list =
    : ( sid_desc =
    : ( sid_name = plsextproc )
    : ( oracle_home = /oracle/8.0.5 )
    : ( program = extproc )
    : tnsnames.ora :
    : extproc_connection_data =
    : ( description =
    : ( address = ( protocol = ipc ) ( key = extproc0 )
    : ( connect_data = ( sid = plsextproc ))
    : You can check that its going by trying
    : sqlplus /@extproc_connection_data
    : the result should be a "hanging" connection for sqlplus and a
    : create process plsextproc, visible from another window
    null

  • EXTERNAL PROCEDURES

    In an application, we are using an oracle external procedure (which calls a mainframe program). When i execute pl/sql stored procedure, it runs first time succesfully and from then on it stops the transaction on mainframe and gives me the below error. It is very critical for me to fix this problem..Can somebody help..
    "DFS555I TRAN EXWWN000 ABEND S000,U0240 SYS ID 113; MSG IN
    PROCESS:
    Thank You.

    You've given very little to go on. More information would be helpful.
    What I CAN say is that it sounds like your external procedure is leaving some loose ends, like perhaps some files were opened, but were never closed. You should understand that under the surface, the database has asked for a program called "extproc" to run. Extproc then loads the shared object (.so or .dll) files associated with the stub procedure and executes the requested function. Extproc doesn't go away at this point. Instead it stays open for the duration of the user's session, ready to execute the function again or to load and execute another shared object. This is done for performance reasons.
    So, you cannot depend on cleanup procedures that run automatically on program termination. If your external procedure needs cleanup procedures to run before it can be called again, it must call them explicitly.

  • Using External Procedure to run oracle6i reports

    Can we run oracle server reports "rwrun60" through database external procedure?
    A typical command is "/oracle/dev6i/bin/rwrun60 MODULE=/tmp/runrep017 P_1=671260 BATCH=YES USERID=<uid>/<pwd>@<sid> DESNAME=/tmp/runrep0171.lis DESTYPE=FILE DESFORMAT=dflt NONBLOCKSQL=NO".
    When I tried it did not run report through external procedure, however a print command worked fine through external procedure.

    That other guy is right that it won't run any slower. I don't know about CoD2, but I've been meaning to try running it from an external HD.
    As for Pro-Tools, you would be correct to run it from the external drive for two reasons:
    a) the ability to take your session to a different pro-tools rig (duh)
    b) Pro Tools, depending on your computer's particular specifications, will either barely run or not run at all from a record drive (in this case, your external 7200rpm drive) under 7200rpm. To be honest, I would highly recommend upgrading to a 10,000-15,000 rpm drive. 7200 will work, but you might have problems when recording 24-bit audio (don't use 16-bit, its garbage). As long as the rest of your comp is up to par, you shouldn't have any real problems though.
    email me if you have any other pro-tools or CoD2 (mac version) questions. I'm currently in the process of getting my Pro-Tools Operator's Certification, so I could use the practise:)
    [email protected]

  • Remote external procedure call ORA-28576

    Hi,
    I have to call an external procedure (c program) which is in another(remote) host system.
    I have created a simple c program and when i call it from the same database host (Oracle 11.2.0.3 in linux 2.6.39) every thing work fine, but when i call it from another database found in a remote host (Oracle 11.2.0.3 HP-UX 11iv3) i receive these error "ORA-28576". The "extproc" program was started by the listener (i can see that in the listener logfile) but then the connection was aborted.
    So my question is can i call remote external proc program from a remote host ? if yes how can i do that ? thanks for help
    Configuration :
    listener.ora
    LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = MYHOST)(PORT = 1521))
    SID_LIST_LISTENER =
        (SID_LIST=
            (SID_DESC= (SID_NAME=callout)
            (ORACLE_HOME=/app/oracle/11.2.0.3)
            (ENVS = 'EXTPROC_DLLS=/tmp/test.so')
            (PROGRAM=extproc)
    tnsnames.ora
    extproc_connection_data =
       (DESCRIPTION =
           (ADDRESS = (PROTOCOL=tcp)(host=MYHOST)(port=1521))
           (CONNECT_DATA=(SID=callout))
    test.c
    #include <stdio.h>
    int square(int x)
    return((x*x) + 1); //adds 1 to the return value
    PL/SQL code
    CREATE DATABASE LINK agent_link USING 'extproc_connection_data';
    CREATE OR REPLACE LIBRARY test_lib IS '/tmp/test.so' AGENT 'agent_link';
    CREATE OR REPLACE FUNCTION test_proc (X BINARY_INTEGER) RETURN BINARY_INTEGER
    AS
    EXTERNAL LIBRARY test_lib
    NAME "square"
    LANGUAGE C;
    CREATE OR REPLACE PROCEDURE EXTPROCTEST (X BINARY_INTEGER)
    AS
       RetValue   BINARY_INTEGER;
    BEGIN
       RetValue := test_proc (X);
       DBMS_OUTPUT.PUT_LINE (RetValue);
    END;
    SET SERVEROUTPUT ON
    EXECUTE EXTPROCTEST(10);

    Hi,
    I found the answare, it seem that for security reason the listener,extproc agent and the instance must be on the same host.
    Reference : (http://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_07pls.htm#sthref1051)
    >
    The database server, the agent process, and the listener process that spawns the agent process must all reside on the same host.
    >
    >
    For security reasons, extproc, by default, loads only DLLs that are in directory $ORACLE_HOME/bin or $ORACLE_HOME/lib. Also, only local sessions—that is, Oracle Database client processes that run on the same system—are allowed to connect to extproc.

  • Database design and pl/sql vs external procedures

    hi,
    My project involves predicting arrival time of a bus at a bus-stop, given statistical data of traffic patterns on the previous ‘n’(say 3) days, as well as the current location of the bus(latitude-longitude).
    Given current bus location, I derive my distance-until-destination bus-stop, which must be translated into time until arrival.
    Ive enlisted the triggers and procedures involved in making the prediction. Thse procedures especially the determination of perpendicular distances involve some complex trigonometric operations. I would like to know if my approach is correct and my database design is suited for the operations to b performed.
    Will it be more efficient to implement the procedures as external procedures or as pl/sql blocks
    This is my database design:
    LINKS ( a link is the road segment between adjacent bus-stops)
    LINK_ID                NUMBER      [PRIMARY-KEY]
    START_LATITUDE          NUMBER     
    START_LONGITUDE     NUMBER     
    START_STOP_ID          NUMBER
    END_LATITUDE          NUMBER
    END_LONGITUDE          NUMBER
    END_STOP_ID          NUMBER
    LINK_LENGTH          NUMBER
    BUS_ROUTE
    ROUTE_ID               NUMBER
    LINKS_ENROUTE          VARRAY(30) OF NUMBER
    STOPS_ENROOUTE          VARRAY(30) OF NUMBER
    TRACK(keeps track of current location of bus)
    BUS_ID           NUMBER          [PRIMARY-KEY]
    ROUTE          VARCHAR2(20)
    LATITUDE          NUMBER
    LONGITUDE          NUMBER
    TS               TIMESTAMP
    LINK_ID          NUMBER
    START_STOP     NUMBER
    END_STOP          NUMBER
    ARRIVAL_TIMES(actual arrival times of the bus, updated by track)
    BUS_ID           NUMBER     [PRIMARY-KEY]
    BUS_ROUTE          VARCHAR2(20)
    ARRIVAL          TIMESTAMP
    STOP_ID          NUMBER
    ETA (expected time of arrival)
    BUS_ID          NUMBER
    BUS_ROUTE          VARCHAR2(20)
    BUS_STOP_ID     NUMBER
    ARR_TIME          VARRAY(5) OF TIMESTAMP
    Triggers and procedures
    1)TRACK_TRIGGER
    On insert/update of track determine which link the us is currently on.
    Invoke a procedure that calculates perpendicular distance from current location to all links en-route (cursor on LINKS).
    Results are stored in a temporary table. Select the link-id of the tuple whose perpendicular distance is MINIMUM. This is the link the bus is currently on. Place link-id, start_stop_id and end_stop_id in corresponding row of TRACK.
    2)ARRIVAL_TRIGGER
    update ARRIVAL_TIMES.and store in ARRIVAL_TIMES that start-stop id with the time-stamp of the current track record.
    b)update ETA: Find the BUS-STOPS that come before the START_STOP of current track record. All these rows are deleted from the ETA tables, as the bus has already crossed these stops.
    3)Prediction Algorithm Procedure.
    Determine distance until destination for each STOP, 20 stops down from stop current location.
    Determine current avg. speed of the bus over a 2 hour window, by dividing total distance traveled by time taken.
    Calculate time-until arrival T1=current avg. speed * distance until destination
    From the records of previous ‘n’ days (say n=3) find those buses on the same route that were near the link the bus is currently on. Again determine avg speed over 2 hour window and calculate avg. speed.
    Calculate travel time T(i) = speed*distance until destination.     i.=2,3, 4…
    The final predicted arrival time is a weighted sum of all T(i).
    I hope Im not asking for too much, but the help would be greatly appreciated.
    Thankyou,
    Amina

    hello,
    actually i can manage ETA without a varray, since there will b a maxximum of 3 -4 values of expected arrival times at each stop. this can b done with separate columns.
    though i dont quite understand how lag() will help me...from what i understand lag() is to access values of previous rows. but in ETA table each element in the varray(if there is one) is going to be the expected arrival time of buses on a particular route at that particular stop, and is different from the arrival time at a previous stop(i.e.row).
    but for my other table BUS_ROUTE i have 2 varrays describing the links and stops enroute. in quite a few procedures i have to loop through these arrays and perform some calculations in every iteration is varray the best way 2 go, or nested tables?
    Thank you
    Amina
    As an aside, external procedures tend by their very
    nature to be slow - there's an overhead incurred
    each time we step outside the database. Therefore
    you really ought to avoid using a C extproc unless
    your calculations really cannot be done in PL/SQL or
    a Java Stored Procedure.
    Also, before you go down the VARRAY route you should
    consider the virues of analytic functions, notably
    [url=http://download-west.oracle.com/docs/cd/B1050
    1_01/server.920/a96540/functions56a.htm#83619]LAG()[/u
    rl]. I think you really ought to do some
    benchmarking of parformance before you start afdding
    denormalised columns like ETA. You may find the
    overhead in maintaining those columns exceeds their
    perceived benefits.
    Cheers, APC

  • PL/SQL procedure to process XML file

    I am just starting to work on xml, and we are using PL/SQL stored procedures to process xml file. I did find the sample code in the package (family.sql). This sample print out all element names and attributes. My questions are :
    (1) I tried to modify the code to print out the element values (or Node values). Here is the code:
    -- get all elements and values
    nl := xmlparser.getElementsByTagName(doc, '*');
    len := xmlparser.getLength(nl);
    -- loop through elements
    for i in 0..len-1 loop
    n := xmlparser.item(nl, i);
    dbms_output.put_line('NodeName: ' &#0124; &#0124; xmlparser.getNodeName(n) &#0124; &#0124; ' ');
    dbms_output.put_line('NodeValue: ' &#0124; &#0124; xmlparser.getNodeValue(n) &#0124; &#0124; ' ');
    end loop;
    However, it did not print out the values, although it did print out the name. what's wrong with it? how can I get the value?
    (2) I have the following xml file:
    <?xml version="1.0"?>
    <profile>
    <id>1</id>
    <name>Company</name>
    <des>master profile</desc>
    <subprofile>
    <subid>1</subid>
    <subname>group1</subname>
    <subdesc>group profile</subdesc>
    </subprofile>
    </profile>
    now, I'd like to print out all the children of the <subprofile> node, that is <subid>, <subname> and <subdesc>. Here is my code:
    -- get subprofile nodelist
    qnlist := xmlparser.getElementsByTagName(doc, 'subprofile');
    -- get length of the nodelist
    len := xmlparser.getLength(qnlist);
    -- loop through elements
    for i in 0..len-1 loop
    qnode := xmlparser.item(qnlist, i);
    qnnode := xmlparser.getFirstChild(qnode);
    qnchild := xmlparser.getFirstChild(qnnode);
    dbms_output.put_line(xmlparser.getNodeName(qnnode));
    dbms_output.put_line(xmlparser.getNodeValue(qnchild));
    LOOP
    if (xmlparser.isNULL(xmlparser.getNextSibling(qnnode))) then exit;
    END IF;
    qnnode := xmlparser.getNextSibling(qnnode);
    qnchild := xmlparser.getFirstChild(qnnode);
    dbms_output.put_line(xmlparser.getNodeName(qnnode));
    dbms_output.put_line(xmlparser.getNodeValue(qnchild));
    END LOOP;
    end loop;
    when I execute the procedure, I get the following output:
    #text
    I am not sure what's wrong with it. Basically, I didn't know the procedure to traverse the tree since here it's a little different from OO programming. Could someone give a sample code which demonstrate the procedure which can get a specific element's name and values? (for my exapmle, the name and value of the <subname>, or <subid>, <subdesc>).
    Also, is there a way to insert a part of xml file into a DB table? in my case, insert the subprofile into a table. I know the xmlgen package has a procedure to insert a xml file into a table, but not a part of xml. And can I insert a xml file into several tables instead of one table, using xmlgen package?
    looking forward to hearing from you. any suggestion and sample code would be helpful. thank you very much.
    null

    I sloved my first question: to get the Nodevalue, I need to use getFirstChild(n);
    But, I still didn't figure out the second
    problem. Actually, It works when I modified my xml file as following:
    <?xml version="1.0"?>
    <profile>
    <id>1</id>
    <name>Company</name>
    <des>master profile</desc>
    <subprofile><subid>1</subid><subname>group1</subname><subdesc>groupprofile</subdesc></subprofile>
    </profile>
    All the <subprofile>....</subprofile> must be in one line without any return. This is unbelievable! It suppose that xml does not matter new lines. I tested my code, it seems space is fine, but new line. Something must be wrong in my code.
    please give any suggestion. Thanks,
    Yudong
    null

  • Getting error while posting reports on Unix Process Scheduler Server

    Hello ,
    I am getting the below error while posting reports on Unix Process Scheduler Server .
    PSDSTSRV.14338 (2) [09/08/09 08:21:34 PostReport](1) (JNIUTIL): Java exception thrown: java.io.IOException: Stream closed.
    PSDSTSRV.14338 (2) [09/08/09 08:21:34 PostReport](3) HTTP transfer error.
    PSDSTSRV.14338 (2) [09/08/09 08:21:34 PostReport](3) Post Report Elapsed Time: 0.0900
    PSDSTSRV.14171 (10) [09/08/09 08:21:34 PostReport](1) (JNIUTIL): Java exception thrown: java.io.IOException: Stream closed.
    Please advise ,thank you.

    user5838027 wrote:
    Node name :PS_HTTP
    URL: http://ddas1020.dev.com:16000/psreports/hrdmo
    URI:SchedulerTransfer/hr90dmo
    URI Port: 16000
    Please let me know if any other info is needed.
    Thanks.
    typo...
    URL: http://ddas1020.dev.com:16000/psreports/hr90dmo
    Hopefully, your application URL looks like http://ddas1020.dev.com:16000/psp/hr90dmo/..., your URI host looks like ddas1020.dev.com (or corresponding ip address), and hhtp is checked.
    Did you also tried to give the web login/password ?
    Nicolas.

Maybe you are looking for