RPC error while executing procedure

Hi,
whenever I execute a procedure which extracts data from COBOL through relativity, it gives me RPC error and exits, the procedure code and error description is provided below,
Procedure Code:
===========
CREATE OR REPLACE Procedure CDB.pop_UtilityBill AS
txt_Truncate Varchar2(200);
txt_Rename Varchar2(500);
BEGIN
txt_Truncate := 'truncate table UtilityBill_Tmp';
execute immediate (txt_Truncate);
--Loading of Date from UTLMERGE File to Temporary Table
Insert into UtilityBill_TMP
(UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,
WasaAcc, WasaFil , Amount , TranType , ChequeNo , Bank , Flag , UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
Select DECODE("MrgDate",0,TO_DATE(NULL),TO_DATE("MrgDate"+1721423,'J')) UtlBillDate,
"Branch",
"Booth",
"Batch",
"Card",
"Bill",
"DocNo",
"Account",
"ElcAcc",
"ElcFil",
"GasAcc",
"GasFil",
"RegCode",
"ExchCode",
"PtclAcc",
"PtclFil" ,
"WasaAcc",
"WasaFil" ,
"Amount",
"TranType",
"ChequeNo",
"Bank" ,
"Flag" ,
"MrgTime" UtlBillTime ,
"PostId",
"FlatbedFlag",
"FlatbedMicrread" ,
"FlatbedEndorse",
"BillingMonth"
From UTLMRG2M_CURR@BIDB
INNER JOIN Branches_Control_UtlBill BU on BU.Branch = "Branch"
where "MrgDate" > UtilityBill_Date
and "Card" <> 9;
COMMIT;
--Loading of Date from Temporary Table to Interface Table
INSERT INTO UtilityBill_I
(UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,WasaAcc,
WasaFil , Amount , TranType , ChequeNo , Bank , Flag ,UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
Select UtlBillDate,
Branch,
Booth,
Batch,
Card,
Bill,
DocNo,
Account,
ElcAcc,
ElcFil,
GasAcc,
GasFil,
RegCode,
ExchCode,
PtclAcc,
PtclFil ,
WasaAcc,
WasaFil ,
Amount,
TranType,
ChequeNo,
Bank ,
Flag ,
UtlBillTime ,
PostId,
FlatbedFlag,
FlatbedMicrread ,
FlatbedEndorse,
BillingMonth
From UtilityBill_TMP;
COMMIT;
--Swapping of Data from Interface Table to Actual Table
EXECUTE IMMEDIATE('RENAME UtilityBill TO UtilityBill_Bkp');
EXECUTE IMMEDIATE('RENAME UtilityBill_I TO UtilityBill');
EXECUTE IMMEDIATE('RENAME UtilityBill_Bkp TO UtilityBill_I');
-- Insertion in Interface Table for Next Day Preparation
INSERT INTO UtilityBill_I
(UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,WasaAcc,
WasaFil , Amount , TranType , ChequeNo , Bank , Flag ,UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
Select UtlBillDate,
Branch,
Booth,
Batch,
Card,
Bill,
DocNo,
Account,
ElcAcc,
ElcFil,
GasAcc,
GasFil,
RegCode,
ExchCode,
PtclAcc,
PtclFil ,
WasaAcc,
WasaFil ,
Amount,
TranType,
ChequeNo,
Bank ,
Flag ,
UtlBillTime ,
PostId,
FlatbedFlag,
FlatbedMicrread ,
FlatbedEndorse,
BillingMonth
From UtilityBill_TMP;
COMMIT;
txt_Truncate := 'TRUNCATE TABLE UtilityBill_Tmp';
execute immediate(txt_Truncate);
Commit;
END;
Error Description:
===========
BEGIN pop_UtilityBill; END;
ERROR at line 1:
ORA-02068: following severe error from BIDB
ORA-28511: lost RPC connection to heterogeneous remote agent using
SID=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=cdbprd)(PORT=1521)
))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=HSODBC1)))
ORA-06512: at "CDB.POP_UTILITYBILL", line 10
ORA-06512: at line 1
HS trace file:
========
Oracle Corporation --- TUESDAY MAY 08 2012 18:03:53.979
Heterogeneous Agent Release
9.2.0.8.0
HS Agent received unexpected RPC disconnect
Network error 1003: NCR-01003: NCRS: Read error.
Oracle database Version:
===============
Oracle9i Release 9.2.0.8.0 - Production
Operating System:
===========
Microsoft Windows Server 2003 SP2
can anybody help me out on this?

remove the line break then if youre loading that in. Apologies, I didnt read the next line. The error is with the insert, if youre loading that up as a sql command file it wont run like that with the line break as it reads it as separate commands quick example.
SQL> host more ins.sql
insert into t1
(select * from dba_objects
where rownum = 1);
commit;
SQL>
SQL> create table t1 as select * from dba_objects where 1=0;
Table created.
SQL> @ins
OWNER
OBJECT_NAME
SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
CREATED   LAST_DDL_ TIMESTAMP           STATUS  T G S  NAMESPACE
EDITION_NAME
SYS
ICOL$
                                       20              2 TABLE
OWNER
OBJECT_NAME
SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
CREATED   LAST_DDL_ TIMESTAMP           STATUS  T G S  NAMESPACE
EDITION_NAME
09-DEC-10 09-DEC-10 2010-12-09:03:39:59 VALID   N N N          1
Commit complete.
SQL> select * from t1;
no rows selected
SQL>
-- ok, try it without the linebreak
SQL> host more ins1.sql
insert into t1
(select * from dba_objects
where rownum = 1);
commit;
SQL> @ins1
1 row created.
Commit complete.
SQL>

Similar Messages

  • Error while executing procedure for excel upload

    Hi Friends
    Pl. find below error while executing procedure for loading excel data. pl. verify and suggest for any changes in the format of data.
    Rgds
    SriG

    If reading Excel as a database you would use "Access LSLINK"
    Access external means you are reading a file. I don't think it is possible to treat Excel as a file because the internal structure is complex.
    In the past I have saved the Excel as a CSV or as a Tab delimeted file. Then I use something like
    ACCESS External
      USE &filename
      BEGIN
        DESCRIPTION free ,
        Variables text 20
        Organisation text 20
        'July 2008' numeric 20
        'August 2008' numeric 20
        'September 2008' numeric 20
        'October 2008' numeric 20
        'November 2008' numeric 20
        'December 2008' numeric 20
        'January 2009' numeric 20
        'February 2009' numeric 20
        'March 2009' numeric 20
        'April 2009' numeric 20
        'May 2009' numeric 20
        'June 2009' numeric 20
      END
      peek
      read
    ... quit the access sub system
    END

  • ORA-06550 error while executing procedure

    HI Friends,
    I have written a proc for the below process.
    SP_Control (table)
    sno     campgn_id     campgn_typ     campgn_no     current_wave
    1     ET07001     ONB     ONB01     1
    2     ET07001     ONB     CNB01     1
    3     ET03053     IAL     IAL1A     A
    4     ET03053     IAL     IAL2A     A
    5     ET03053     IAL     IAL3A     A
    6     ET03053     IAL     IAL4A     A
    After calling the procedures with bellow parameters
    Get_next_campgn(‘ONB01’,’ONB’);
    Get_next_campgn(‘CNB01’,’ONB’);
    Get_next_campgn(‘IAL1A’,’IAL’);
    Get_next_campgn(‘IAL2A’,’IAL’);
    Get_next_campgn(‘IAL3A’,’IAL’);
    Get_next_campgn(‘IAL4A’,’IAL’);
    …………… it should update the table with below data.
    sno     campgn_id     campgn_typ     campgn_no     current_wave
    1     ET07001     ONB     ONB02     2
    2     ET07001     ONB     CNB02     2
    3     ET03053     IAL     IAL1B     B
    4     ET03053     IAL     IAL2B     B
    5     ET03053     IAL     IAL3B     B
    6     ET03053     IAL     IAL4B     B
    I have written a procedure like this and its compliled successfully.
    But throws error while executing like
    execute Get_next_campgn(‘ONB01’,’ONB’);
    create or replace procedure Get_next_campgn(p_campgn varchar2,p_type varchar2)
    as
    begin
    update SP_Control set campgn_no = substr(p_campgn,1,length(p_campgn)-1)||to_char(ascii(substr(p_campgn,-1,1))+1) ,
    curr_wave = to_char(ascii(curr_wave)+1)
    where campgn_type = p_type
    and campgn_no = p_campgn ;
    exception
    when others then
    dbms_output.put_line(sqlerrm);
    end Get_next_campgn;
    Error::::
    Error starting at line 15 in command:
    execute Get_next_campgn(‘ONB01’,’ONB’)
    Error report:
    ORA-06550: line 1, column 24:
    PLS-00103: Encountered the symbol "" when expecting one of the following:
    ( ) - + case mod new not null <an identifier>
    <a double-quoted delimited-identifier> <a bind variable>
    table continue avg count current exists max min prior sql
    stddev sum variance execute multiset the both leading
    trailing forall merge year month day hour minute second
    timezone_hour timezone_minute timezone_region timezone_abbr
    time timestamp interval date
    <a string literal with character set specification>
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:
    Please suggest....

    The procedure executed successfully for me.
    drop table sp_control;
    create table sp_control
      campgn_no varchar2(20),
      curr_wave varchar2(20),
      campgn_type varchar2(20)
    insert into sp_control values ('ONB01', '1', 'ONB');
    insert into sp_control values ('IAL1A', 'A', 'IAL');
    create or replace procedure Get_next_campgn(p_campgn varchar2,p_type varchar2)
    as
    begin
    update SP_Control set campgn_no = substr(p_campgn,1,length(p_campgn)-1)||to_char(ascii(substr(p_campgn,-1,1))+1) ,
    curr_wave = to_char(ascii(curr_wave)+1)
    where campgn_type = p_type
    and campgn_no = p_campgn ;
    exception
    when others then
    dbms_output.put_line(sqlerrm);
    end Get_next_campgn;
    begin
      Get_next_campgn('ONB01','ONB');
    end;
    select * from sp_control;
    --Output as Follows:
    drop table sp_control succeeded.
    create table succeeded.
    1 rows inserted
    1 rows inserted
    procedure Get_next_campgn(p_campgn Compiled.
    anonymous block completed
    CAMPGN_NO            CURR_WAVE            CAMPGN_TYPE         
    ONB050               50                   ONB                 
    IAL1A                A                    IAL                 
    2 rows selectedJust a hunch, in the Procedure call
    execute Get_next_campgn(‘ONB01’,’ONB’);the "Single Quotes" does not appear correct. They were probably typed into some other editor.
    When executed as
    execute  Get_next_campgn(‘ONB01’,’ONB’);
    Error starting at line 1 in command:
    begin
      Get_next_campgn(‘ONB01’,’ONB’);
    end;
    Error report:
    ORA-06550: line 2, column 19:
    PLS-00103: Encountered the symbol "‘" when expecting one of the following:
       ( ) - + case mod new not null <an identifier>
       <a double-quoted delimited-identifier> <a bind variable>
       table continue avg count current exists max min prior sql
       stddev sum variance execute multiset the both leading
       trailing forall merge year month day hour minute second
       timezone_hour timezone_minute timezone_region timezone_abbr
       time timestamp interval date
       <a string literal with character set specification>
    06550. 00000 -  "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:So, just replace them in any SQL editor and your Invoker block shall work properly.
    Regards,
    P.

  • Error while executing procedure in TOAD which contains parameter and dblink

    Hi all,
    I am getting error while executing the following code in TOAD and APEX.
    It contains parameter( start_date and end_date) and dblink(@TO_FUT).
    When I hardcode the parameter values, It works fine.
    When I dont give hardcoded values in the procedure, the error comes.
    When I comment the lines whereever parameter comes, still the error comes.
    I am not sure whether it is parameter issue or dblink issue or some other issue
    Is anybody having any clue about this error?
    Your help is very much appreciated.
    The code:
    CREATE OR REPLACE PROCEDURE PROC_ENR_ACC(START_DATE DATE,END_DATE DATE)
    AS
    BEGIN
    EXECUTE IMMEDIATE 'TRUNCATE TABLE OUTPUT_TABLE';
    INSERT INTO OUTPUT_TABLE
    (FIRST_NAME ,LAST_NAME,HID ,EFF_DT,CID,PLAN, FLAG)
    SELECT
    TEMP1.FIRST_NAME,
    TEMP1.LAST_NAME,
    TEMP1.HID,
    TEMP1.EFF_DT,
    TEMP1.CID,
    TEMP1.PLAN,
    NVL((SELECT 'Y'
    FROM FADMIN.MEMI_TABLE@TO_FUT MEMI
    WHERE MEMI.MEME_CK = TEMP1.MEME_CK
    AND MEMI.TXN_EFF_DT = TEMP1.EFF_DT
    AND MEMI.PBP = TEMP1.PLAN
    AND MEMI.MEMI_TXN_CD IN ('AC','RE')
    AND MEMI.MEMI_SEQ_NO = (SELECT MAX (MI.MEMI_SEQ_NO)
    FROM FADMIN.MEMI_TABLE@TO_FUT MI
    WHERE MI.MEME_CK = MEMI.MEME_CK
    AND MI.TXN_EFF_DT = MEMI.TXN_EFF_DT
    AND MI.PBP = MEMI.PBP
    AND MI.MEMI_TXN_CD IN ('AC','RE')
    AND MI.MEMI_INTF_STS = 03 )),'N') AS FLAG
    FROM
    ( SELECT
    M1.FIRST_NAME ,
    M1.LAST_NAME ,
    M1.HID ,
    M1.EFF_DT,
    M1.CID,
    M1.PLAN ,
    (SELECT MEME.MEME_CK
    FROM FADMIN.MEME_TABLE@TO_FUT MEME, FADMIN.GRGR_TABLE@TO_FUT GRGR
    WHERE MEME.M_HIN = M1.HID
    AND MEME.GRGR_CK = GRGR.GRGR_CK
    AND GRGR.GRGR_ID = M1.GRGR_ID
    )AS MEME_CK
    FROM FADMIN.METR_TABLE@TO_FUT M1,
    ( SELECT M3.HID, M3.EFF_DT FROM FADMIN.METR_TABLE@TO_FUT M3
    WHERE M3.TYPE IN ('60','61')
    AND M3.REPLY IN ('117','118')
    AND TRUNC (M3.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
    AND M3.SYIN_INST = (SELECT MAX (M4.SYIN_INST)
    FROM FADMIN.METR_TABLE@TO_FUT M4
    WHERE M4.HID = M3.HID
    AND M4.TYPE IN ('60','61')
    AND M4.REPLY IN ('117','118')
    AND TRUNC (M4.EFF_DT) = TRUNC (M3.EFF_DT))
    ) TEMP
    WHERE M1.TYPE IN ('60','61')
    AND M1.REPLY ='011'
    AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
    AND M1.SYIN_INST = (SELECT MAX (M2.SYIN_INST)
    FROM FADMIN.METR_TABLE@TO_FUT M2
    WHERE M2.HID = M1.HID
    AND M2.TYPE IN ('60','61')
    AND M2.REPLY ='011'
    AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
    AND M1.HID = TEMP.HID (+)
    AND M1.EFF_DT = TEMP.EFF_DT (+)
    AND TEMP.HID IS NULL
    UNION
    SELECT
    M1.FIRST_NAME ,
    M1.LAST_NAME ,
    M1.HID ,
    M1.EFF_DT,
    M1.CID,
    M1.PLAN ,
    (SELECT MEME.MEME_CK
    FROM FADMIN.MEME_TABLE@TO_FUT MEME, FADMIN.GRGR_TABLE@TO_FUT GRGR
    WHERE MEME.M_HIN = M1.HID
    AND MEME.GRGR_CK = GRGR.GRGR_CK
    AND GRGR.GRGR_ID = M1.GRGR_ID
    )AS MEME_CK
    FROM FADMIN.METR_TABLE@TO_FUT M1
    WHERE M1.TYPE IN ('60','61')
    AND M1.REPLY IN ('016', '017', '022', '023')
    AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
    AND M1.SYIN_INST = (SELECT MAX (M2.SYIN_INST)
    FROM FADMIN.METR_TABLE@TO_FUT M2
    WHERE M2.HID = M1.HID
    AND M2.TYPE IN ('60','61')
    AND M2.REPLY IN ('016', '017', '022', '023')
    AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
    )TEMP1 ;
    END;
    The error:
    ORA-00918: column ambiguously defined
    ORA-02063: preceding line from TO_FUT
    ORA-06512: at "PROC_ENR_ACC", line 5
    ORA-06512: at line 5

    Okay
    Here's the code formatted
    CREATE OR REPLACE PROCEDURE PROC_ENR_ACC (START_DATE DATE, END_DATE DATE)
    AS
    BEGIN
       EXECUTE IMMEDIATE 'TRUNCATE TABLE OUTPUT_TABLE';
       INSERT INTO OUTPUT_TABLE (FIRST_NAME,
                                 LAST_NAME,
                                 HID,
                                 EFF_DT,
                                 CID,
                                 PLAN,
                                 FLAG)
       SELECT   TEMP1.FIRST_NAME,
                TEMP1.LAST_NAME,
                TEMP1.HID,
                TEMP1.EFF_DT,
                TEMP1.CID,
                TEMP1.PLAN,
                NVL (
                     (SELECT   'Y'
                      FROM   MEMI_TABLE MEMI
                      WHERE       MEMI.MEME_CK = TEMP1.MEME_CK
                      AND MEMI.TXN_EFF_DT = TEMP1.EFF_DT
                      AND MEMI.PBP = TEMP1.PLAN
                      AND MEMI.MEMI_TXN_CD IN ('AC', 'RE')
                      AND MEMI.MEMI_SEQ_NO = (SELECT   MAX (MI.MEMI_SEQ_NO)
                                              FROM   MEMI_TABLE MI
                                              WHERE   MI.MEME_CK = MEMI.MEME_CK
                                              AND MI.TXN_EFF_DT = MEMI.TXN_EFF_DT
                                              AND MI.PBP = MEMI.PBP
                                              AND MI.MEMI_TXN_CD IN ('AC', 'RE')
                                              AND MI.MEMI_INTF_STS = 03)
                      ),'N') FLAG
       FROM (SELECT   M1.FIRST_NAME,
                      M1.LAST_NAME,
                      M1.HID,
                      M1.EFF_DT,
                      M1.CID,
                      M1.PLAN,
                      (SELECT   MEME.MEME_CK
                       FROM   MEME_TABLE MEME, GRGR_TABLE GRGR
                       WHERE       MEME.M_HIN = M1.HID
                       AND MEME.GRGR_CK = GRGR.GRGR_CK
                       AND GRGR.GRGR_ID = M1.GRGR_ID) MEME_CK
             FROM   METR_TABLE M1,
                    (SELECT   M3.HID, M3.EFF_DT
                     FROM   METR_TABLE M3
                     WHERE   M3.TYPE IN ('60', '61')
                     AND M3.REPLY IN ('117', '118')
                     AND TRUNC (M3.METR_TRANS_DT) BETWEEN START_DATE AND  END_DATE
                     AND M3.SYIN_INST = (SELECT   MAX (M4.SYIN_INST)
                                         FROM   METR_TABLE M4
                                         WHERE   M4.HID = M3.HID
                                         AND M4.TYPE IN ('60', '61')
                                         AND M4.REPLY IN ('117', '118')
                                         AND TRUNC (M4.EFF_DT) = TRUNC (M3.EFF_DT))
                     ) TEMP
             WHERE   M1.TYPE IN ('60', '61') AND M1.REPLY = '011'
             AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND  END_DATE
             AND M1.SYIN_INST = (SELECT   MAX (M2.SYIN_INST)
                                 FROM   METR_TABLE M2
                                 WHERE       M2.HID = M1.HID
                                 AND M2.TYPE IN ('60', '61')
                                 AND M2.REPLY = '011'
                                 AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
            AND M1.HID = TEMP.HID(+)
            AND M1.EFF_DT = TEMP.EFF_DT(+)
            AND TEMP.HID IS NULL
            UNION
            SELECT   M1.FIRST_NAME,
                     M1.LAST_NAME,
                     M1.HID,
                     M1.EFF_DT,
                     M1.CID,
                     M1.PLAN,
                     (SELECT   MEME.MEME_CK
                      FROM   MEME_TABLE MEME, GRGR_TABLE GRGR
                      WHERE       MEME.M_HIN = M1.HID
                      AND MEME.GRGR_CK = GRGR.GRGR_CK
                      AND GRGR.GRGR_ID = M1.GRGR_ID) MEME_CK
            FROM   METR_TABLE M1
            WHERE   M1.TYPE IN ('60', '61')
            AND M1.REPLY IN ('016', '017', '022', '023')
            AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND  END_DATE
            AND M1.SYIN_INST = (SELECT   MAX (M2.SYIN_INST)
                                FROM   METR_TABLE M2
                                WHERE   M2.HID = M1.HID
                                AND M2.TYPE IN ('60', '61')
                                AND M2.REPLY IN ('016', '017', '022', '023')
                                AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
            ) TEMP1;
    END;
    /When posting code if you put {noformat}{noformat} (with the curly brackets and in lower case) above and below it you can preserve formatting.
    To your original question...
    Is the link name supposed to be variable?
    What do you mean by 'hard coding' the values, do you mean in the procedure itself so you'd actually PROC_ENR_ACC();?
    What happens when you run this?DECLARE
    start_date DATE;
    end_date DATE;
    BEGIN
    start_date := '01-JAN-2009';
    end_date := '01-FEB-2009';
    PROC_ENR_ACC(start_date, end_date);
    END;
    I need to know exactly how to recreate your error...
    Cheers
    Ben
    http://www.munkyben.wordpress.com
    +Don't forget to mark replies helpful or correct+ ;)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Error while executing procedure

    Hi,
    I am executing a procedure, which will write a query result into a spreadsheet and it will store it into the local PC. i am trying to run this procedure using TEST username.
    Now i created a utl_file directory like below:
    create directory MYDIR5 AS 'c:\raj';
    and i tried to assign permission like below :
    grant read,write on directory MYDIR5 to TEST
    i got the below error, while i am executing the GRANT stmt:
    ORA-01749: you may not GRANT/REVOKE privileges to/from yourself
    So who has to grant privileges for this. I tried to execute the procedure without granting privileges but it end up with ORA-29283: error.
    So pls help me on this issue.
    Thanks in advance!!!

    You looked up the CREATE DIRECTORY statement right? What does it say under "Prerequisites"?
    > I am executing a procedure, which will write a query result into a spreadsheet and it will store it into the local PC
    Is the database also on your local PC? UTL_FILE runs on the database server.

  • Error while executing procedure for FTP

    Hi all,
    I am facing error while copying l the csv files from FTP to local directory on my machine.
    I have created a procedure & selected technology jython . please find the code below.
    import snpsftp
    ftp = snpsftp.SnpsFTP('ftp://noid-misa-01-pp/', 'indiaftp', 'PWD')
    ftp.setmode('ASCII')
    ftp.mget('INT/GPInput(AU)/', '*.csv', 'C:\D_DRIVE_NEERAJ\reading')
    ftp.close()
    The error i am receiving is :
    org.apache.bsf.BSFException: exception from Jython: Traceback (innermost last):
    File "<string>", line 2, in ?
    File "C:\OraHome_1\oracledi\bin\..\lib\scripting\Lib\snpsftp.py", line 50, in __init__
    File "C:\OraHome_1\oracledi\bin\..\lib\scripting\Lib\snpsftp.py", line 58, in connect
    File "C:\OraHome_1\oracledi\bin\..\lib\scripting\Lib\ftplib.py", line 118, in connect
    File "C:\OraHome_1\oracledi\bin\..\lib\scripting\Lib\socket.py", line 135, in connect
    java.net.UnknownHostException: ftp://noid-misa-01-pp/

    If reading Excel as a database you would use "Access LSLINK"
    Access external means you are reading a file. I don't think it is possible to treat Excel as a file because the internal structure is complex.
    In the past I have saved the Excel as a CSV or as a Tab delimeted file. Then I use something like
    ACCESS External
      USE &filename
      BEGIN
        DESCRIPTION free ,
        Variables text 20
        Organisation text 20
        'July 2008' numeric 20
        'August 2008' numeric 20
        'September 2008' numeric 20
        'October 2008' numeric 20
        'November 2008' numeric 20
        'December 2008' numeric 20
        'January 2009' numeric 20
        'February 2009' numeric 20
        'March 2009' numeric 20
        'April 2009' numeric 20
        'May 2009' numeric 20
        'June 2009' numeric 20
      END
      peek
      read
    ... quit the access sub system
    END

  • ORA-00900: invalid SQL statement Error while Executing Procedure

    Hi:
    I am trying to execute following procedure through java code, but i am getting ORA-00900: invalid SQL statement error.
    Procedure is :
    <code>
    (vResult out int)
    as
    vCardId varchar2(16);
    vForacid varchar2(16);
    vApp_Entry_No varchar2(10);
    vSrNo number(6);
    vCardStatus char(1);
    vCardStat char(2);
    vExpiryDate date;
    Cursor cardCur1 is
    select u.card_number,trim(u.ACCOUNT_NUMBER),u.CARD_STATUS,to_char(u.EXPIRY_DATE,'dd-MM-yyyy')
    FROM DailyCardData u
    where default_indicator='1'
    and isprocessed = 'N'
    order by expiry_date;
    begin
    vSrNo := 0;
    vResult := 0;
    open cardCur1;
    Loop
    fetch cardCur1 into vCardId,vForacid,vCardStat,vExpiryDate;
    if cardCur1%NOTFOUND then
    exit;
    end if;
    if (vCardStat != null) then
    vCardStatus := 'H';
    elsif (vExpiryDate <= sysdate) then
    vCardStatus := 'E';
    else
    vCardStatus := null;
    end if;
    select a.app_entry_no into vApp_Entry_No from Application a,ApplicationLinkedAccounts l
    where l.foracid = vForacid and l.AcSrNo = '1'
    and a.app_entry_no = l.app_entry_no
    and a.cardid is null
    and a.DOWNLOADFILECREATIONFLAG = 'Y';
    update Application set CardId = vCardId,
    Card_Status = vCardStatus,APPLICATIONPROCESSEDFLAG = 'Y',
    APPLICATIONPROCESSEDdate = DOWNLOADFILECREATIONdate
    where App_Entry_No = vApp_Entry_No;
    commit;
    update DailyCardData set isprocessed = 'Y',app_entry_no = vApp_Entry_No
    where card_number = vCardId;
    commit;
    end Loop;
    close cardCur1;
    vResult := 1;
    end;
    </code>
    Can any body help me in that?
    Thank You,
    Anup

    First of all I don't see a procedure header.
    Secondly I see you commit inside your procedure. This is a bug.
    Thirdly I see you also commit inside a loop. This is also a bug, and needs to be removed asap.
    The error indicates a statement doesn't parse. As you don't post the error stack, nor a table definition no one can reproduce the problem.
    You need to isolate the statements, one by one, and run them through sql*plus to see what happens.
    Sybrand Bakker
    Senior Oracle DBA

  • Error while executing procedure : ORA-06550 and PLS-00103

    Hi I have created the Stored Procedure as,
    CREATE OR REPLACE PACKAGE BODY APPS.TMP_IMPORT_ITEMS_PKG AS
      PROCEDURE LOAD_INTERFACE_TABLE(organization_code IN VARCHAR2, errbuf OUT VARCHAR2, retcode OUT NUMBER) IS
      org_code varchar2(3);
      BEGIN
        org_code:= organization_code;
        DBMS_OUTPUT.PUT_LINE('Organization Code is...' || org_code);
      END LOAD_TABLE;
    END TMP_IMPORT_ITEMS_PKG;
    And here is the code what i am trying to execute:
    DECLARE
      V_ERRBUF VARCHAR2(1000);
      V_RETCODE NUMBER;
    BEGIN
      EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', V_ERRBUF, V_RETCODE);
    END;
    when i run the above code i am getting the following error:
    ORA-06550: line 5, column 10:
    PLS-00103: Encountered the symbol "TMP_IMPORT_ITEMS_PKG" when expecting one of the following:
    := . ( @ % ;
    The symbol ":=" was substituted for "TMP_IMPORT_ITEMS_PKG" to continue.
    Can any body tell me what's wrong with the above code
    Thanks in Advance,
    Kumar K
    Edited by: user2054206 on Dec 17, 2008 9:09 PM
    Edited by: user2054206 on Dec 17, 2008 9:27 PM

    BEGIN
    EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);
    END;why are you executing it like that , it should be
    EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);or as Prabhakar said in PL/SQL
    BEGIN
         TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', '', null);
    END;Edited by: Rajneesh Kumar on Dec 18, 2008 11:08 AM

  • Error while executing procedure having IN and OUT parameters

    Hi,
    I will be really gratified if someone can please help me in solving with the following problem.
    I have one procedure given below
    create or replace procedure abcd1april (
                                            nd_in                IN varchar2,
                                            sal_in           IN number,
                                            success_out      OUT number,
                                            error_code_out OUT number,
                                            error_msg_out      OUT varchar2
    AS
    old_sal number;
    cursor H7 is select SERV_ACC_LINK_CODE_N from pair_bkup where PAIRE_STATUS in (3,4) and nd=nd_in;
    BEGIN
         old_sal:=0;
         open H7;
         fetch H7 into old_sal;
         close H7;
         if old_sal=0
         then
              success_out:=0;
              error_code_out:=01;
              error_msg_out:='Check this error';
         else
                   update pair_bkup set SERV_ACC_LINK_CODE_N=sal_in where nd=nd_in and SERV_ACC_LINK_CODE_N=old_sal;
         success_out:=1;
              error_code_out:=00;
              error_msg_out:='NO ERROR IS THERE';
         end if;
    EXCEPTION
              WHEN OTHERS
              THEN
              success_out:=0;
              error_code_out:=SQLCODE;
              --error_msg_out:=SQLERRM;                                                                                                                 
    END;     
    Now when i try to execute this script it throws an error given below:-
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at "TELMATEST.ABCD1APRIL", line 39
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    Now i am executing this procedure by following script:-
    DECLARE
              nd_in_n VARCHAR2(10);
              sal_in_n NUMBER;
              success_out_n NUMBER;
              error_code_out_n NUMBER;
              error_message_out_n VARCHAR2(10);
    BEGIN
         nd_in_n := '';
         sal_in_n:= 0;
         success_out_n := 0;
         error_code_out_n:= '';
         error_message_out_n := '';
    abcd1april('02022',3,success_out_n,error_code_out_n,error_message_out_n);
    insert into errormsgs values(&error_code_v,'error_message_v');
    END ;
    Now please help me in above case.
    Regards
    Gursimran Singh

    Gursimran,
    The error message tells you what you need to know -
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small.You're calling the procedure and supplying
    error_message_out_n VARCHAR2(10);In each case, the message 'Check this error', 'NO ERROR IS THERE' or SQLERRM is longer than 10 characters - therefore the error.
    Try it with
    error_message_out_n VARCHAR2(1000);Cheers,
    Bryan.

  • Error while executing procedure from the web

    Hi,
    <p>
    I am developing some procedures that I want to execute from an html form. The problem is that when I am trying to execute it in SQL Developer I got the following error:<br>
    Connecting to the database oracle.<br>
    ORA-06502: PL/SQL: numeric or value error<br>
    ORA-06512: at "SYS.OWA_UTIL", line 325<br>
    ORA-06512: at "SYS.OWA_UTIL", line 366<br>
    ORA-06512: at "MMARTA.INSERTPROJECT", line 3<br>
    ORA-06512: at line 10<br>
    Process exited.<br>
    </p>
    <p>
    The procedure is the following:<br>
    create or replace <br>
    procedure insertproject(jnum j.j#%type, jname j.jname%type, city j.city%type) as <br>
    begin <br>
    owa_util.mime_header('text/plain');<br>
    if jpak.insertj(jnum,jname,city)<0 then<br>
    htp.print('The jnum already exists in the database!');<br>
    else <br>
    htp.print('Insert successfull!');<br>
    end if;<br>
    end;<br>
    <br>
    and the function has the following code:
    <br>
    function insertj(jnum j.j#%type, jname j.jname%type, city j.city%type)<br>
    return number is<br>
    x number;<br>
    begin<br>
    Select count(*) into x From J<br>
    Where J#=jnum;<br>
    if x=0 then<br>
    insert into J values(jnum,jname,city);<br>
    commit;<br>
    return 0;<br>
    end if;<br>
    return -1;<br>
    END insertj;<br>
    </p>
    <p>
    Does anyone have any idea why I get this error?
    </p>
    <p>
    Thanks!
    <p/>

    Hi,
    <p>
    The function has the following parameters:<br>
    function insertj(jnum j.j#%type, jname j.jname%type, city j.city%type)<br>
    where j# is varchar2(5), jname is varchar2(35) and city is varchar2(35)<br>.
    I was trying to insert the following values:<br>
    j#:='J11', jname:='JobName' and city:='Paris'.<br>
    </p>
    <p>
    The procedure just calls this function with the same parameters. It is very strange because it is hard to see what the problem is. The line 10 is return 0 in the function where I believe the error comes from. It starts in the procedure and then goes in the function body, if I am interpreting this right.
    </p>
    <p>
    Any idea?
    </p>
    Thanks!

  • Date format  error while executing procedure

    Hi,
    Oracle9i
    Table A has TIME column with datatype as DATE.
    In table A TIME column has values in format as mm/dd/yyyy hh:mm:ss
    Trying to execute the procedure (with the date value as an input parameter) to retrieve the records from the above table A, but getting the below error:
    get_product_details(17012,TO_DATE(24-10-2020,'mm/dd/yyyy hh:mm:ss'),TO_DATE(26-10-2020,'mm/dd/yyyy hh:mm:ss'),v_cur); ;
    ORA-01810: format code appears twice
    ORA-06512: at "SYS.STANDARD", line 231
    ORA-06512: at line 14
    Regards

    Hi,
    Your format mask is incorrect.
    TO_DATE(24-10-2020,'mm/dd/yyyy hh:mm:ss') The problem here is the first two characters is date but you are masking it as month and also the delimiter is - but you are masking it as / and for minutes the mask is mi and most importantly to_date accepts a String literal.
    should be changed to
    TO_DATE('24-10-2020 00:00:00','dd-mm-yyyy hh:mi:ss')cheers
    VT

  • Error while executing Procedure - ORA-06511: PL/SQL: cursor already open

    I have successfully compiled the following procedure but when I execute it, following error occurs, please adv.
    Thanks and Regards,
    Luqman
    create or replace
    procedure TESTKIBOR
    (contno in varchar)
    AS
    BEGIN
    DECLARE cursor c1 is
    SELECT * FROM KIBOR_SCHEDULE
    WHERE CN=contno;
    begin
    OPEN C1;
    FOR line IN c1 LOOP
    update kibor_schedule
    set lincome=line.Lincome,
    expo=line.eXPO,
    pport=line.pPORT
    where cn=line.cn
    and rno=line.rno;
    END LOOP;
    COMMIT;
    close c1;
    END;
    END TESTKIBOR;
    ERROR at line 1:
    ORA-06511: PL/SQL: cursor already open
    ORA-06512: at "MKTG.TESTKIBOR", line 6
    ORA-06512: at "MKTG.TESTKIBOR", line 10
    ORA-06512: at line 1

    Hi,
    CREATE OR REPLACE PROCEDURE Testkibor
         (contno  IN VARCHAR)
    AS
    BEGIN
      DECLARE
        CURSOR c1 IS
          SELECT *
          FROM   kibor_schedule
          WHERE  cn = contno;
      BEGIN
    --//    OPEN c1; --no need to open if using for loop
        FOR line IN c1 LOOP
          UPDATE kibor_schedule
          SET    lincome = line.lincome,
                 expo = line.expo,
                 pport = line.pport
          WHERE  cn = line.cn
                 AND rno = line.rno;
        END LOOP;
        COMMIT;
    --//     CLOSE c1; -- no need for loop  does it for you
      END;
    END testkibor;SS

  • "Warning: compiled but with compilation errors" while executing procedure.

    Hi All, i am so new to plsql. this code has been compiled but it gave a warning. I guess i am missing a small issue like semicolon but since im new i could not see what the problem is.
    CREATE OR REPLACE procedure BAKIM.grantt_uguser as
    cursor synn is
        select 'CREATE PUBLIC SYNONYM '||object_name||' for '||owner||'.'||object_name TXT from dba_objects
        where owner= 'FCY' and object_type in ('INDEX','PROCEDURE','TABLE','FUNCTION','VIEW','TRIGGER','SEQUENCE','PACKAGE')
        and
        object_name not in (select table_name from dba_synonyms where owner = 'FCY');
    begin
      for li in synn
      loop
    execute immediate li.TXT;
      end loop;
    end;

    Immediately after compiling, when you get the warning:
    select * from user_errors;
    In this case the root cause is "ORA-00942: table or view does not exist" because you probably don't have select on DBA_OBJECTS or DBA_SYNONYMS granted directly to BAKIM (it is probably through a role which is not sufficient for PL/SQL procedures).

  • Gettng Error while executing the procedure(oracle 10.2.0.3.0)

    Hi all,
    I am getting following error While executing the package .
        PLS-00103: Encountered the symbol "Truncate" when expecting one of
             the following:
             * & = - + ; < / > at in is mod remainder not rem return
             returning <an exponent (**)> <> or != or ~= >= <= <> and or
             like LIKE2_ LIKE4_ LIKEC_ between into using || multiset bulk
             member SUBMULTISET_I have written follwing query in the package body.
    EXECUTE IMMEDIATE 'TRUNCATE TABLE FORT ';
    EXECUTE IMMEDIATE '
         INSERT INTO FORT (CID,CODE,DESC,SCODE,SES,T_DT,SDN,LANG)
         SELECT
           SERVICES.CID                                                     CID,
           PROFILE.FUCODE                                               CODE,
           TO_DATE(SUBSTR(SERVICES.STAT_CHNG,-7,6),'YYMMDD')   T_DT,
           PHOR.NUM                                                               SDN,
           C_ALL.cLANGUAGE                                      LANG
         FROM
          SERVICES      .....Please give me the solution for this .
    Thank y ou
    Edited by: user636482 on Apr 10, 2009 1:08 AM

    I am getting following errors if I gave " ' " after not null.
    LINE/COL ERROR
    42/8     PLS-00103: Encountered the symbol "AND" when expecting one of the
             following:
             begin case declare end exception exit for goto if loop mod
             null pragma raise return select update while with
             <an identifier> <a double-quoted delimited-identifier>
             <a bind variable> << close current delete fetch lock insert
             open rollback savepoint set sql execute commit forall merge
             pipe
    42/56    PLS-00103: Encountered the symbol "A" when expecting one of the
             following:
    LINE/COL ERROR
             ) , * & | = - + < / > at in is mod remainder not rem => ..
             <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
             LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
             The symbol ", was inserted before "A" to continue.
    42/74    PLS-00103: Encountered the symbol "D" when expecting one of the
             following:
             * & - + ; / at mod remainder rem return returning
             <an exponent (**)> and or || multiset
             The symbol "* was inserted before "D" to continue.
    LINE/COL ERROR
    45/6     PLS-00103: Encountered the symbol "COMMIT"
    52/3     PLS-00103: Encountered the symbol "PROCEDURE" when expecting one
             of the following:
             end not pragma final instantiable order overriding static
             member constructor map
             The symbol "static" was substituted for "PROCEDURE" to continue.
    85/8     PLS-00103: Encountered the symbol "AND" when expecting one of the
             following:
             begin case declare end exception exit for goto if loop mod
             null pragma raise return select update while with
    LINE/COL ERROR
             <an identifier> <a double-quoted delimited-identifier>
             <a bind variable> << close current delete fetch lock insert
             open rollback savepoint set sql execute commit forall merge
             pipe
    85/56    PLS-00103: Encountered the symbol "A" when expecting one of the
             following:
             ) , * & | = - + < / > at in is mod remainder not rem => ..
             <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
             LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
             The symbol ", was inserted before "A" to continue.
    LINE/COL ERROR
    85/74    PLS-00103: Encountered the symbol "D" when expecting one of the
             following:
             * & - + ; / at mod remainder rem return returning
             <an exponent (**)> and or || multiset
             The symbol "* was inserted before "D" to continue.
    88/8     PLS-00103: Encountered the symbol "COMMIT"
    95/3     PLS-00103: Encountered the symbol "PROCEDURE" when expecting one
             of the following:
             end not pragma final instantiable order overriding static
    LINE/COL ERROR
             member constructor map
             The symbol "static" was substituted for "PROCEDURE" to continue.
    133/3    PLS-00103: Encountered the symbol "PROCEDURE" when expecting one
             of the following:
             end not pragma final instantiable order overriding static
             member constructor map
             The symbol "static" was substituted for "PROCEDURE" to continue.
    169/3    PLS-00103: Encountered the symbol "PROCEDURE" when expecting one
             of the following:with out adding " ' " I am getting the previous error which I mentioned in Previous thread(TRUNCATE)
    Thank you

  • Error while executing the stored procedure through sender JDBC adapter

    Hi All,
    I am getting below error while executing the stored procedure through sender JDBC adapter.
    Database-level error reported by JDBC driver while executing statement 'exec SapgetNextEntity 'SalesOrder''. The JDBC driver returned the following error message: 'com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.'. For details, contact your database server vendor.
    what is the problem? any idea to anyone...
    regards
    Ramesh

    hi Dharamveer,
    I am not getting below statement for your reply
    Try to use Refrence Cursor it will return u reference of resultset.
    I mention SP like this
    exec SapgetNextEntity 'SalesOrder'
    SapgetNextEntity -
    > SP Name
    SalesOrder----
    > Parameter I am passing...
    regards
    Ramesh

Maybe you are looking for

  • Pedido de compra com - Plano de Faturamento

    Boa tarde senhores, Energia elétrica, Gás, Água, etc.... Qual é a melhor forma de tratar este tipo de aquisição? Um pedido de compra com plano de faturamento? Contratos? Como fica o fluxo de caixa? Consigo utilizar folha de serviço para plano de fatu

  • How to migrate from BE6000 to Communications Manager

    Dear forum members, first of all, I'am tired. I have been on a long journey from the day we bought our Cisco Unified Communication system until now. Technically everything worked just fine, right from the beginning until now. But starting from the fi

  • Scale precision - LabVIEW 8.5

    I seem to be having a problem related to keeping a scale precision to 0 digits of precision.  I have even specified advanced formatting using format string of %d and it does not work.  This problem seems to be related to the issue raised here: http:/

  • Help needed configuring Tomcat 4.1

    Hi there, I hope that someone can help me out with this problem!! I am having problems running my applications on Tomcat 4.1 (on Win XP, j2sdk1.4.1, j2sdkee1.4) each time i try to run a JSP page that uses JavaBeans i get an 'unable to compile class f

  • Converting profiles

    I've received some TIF files created in basic sRGB mode but that contain Adobe 1998 images within them. The files, I've been told, were saved without embedding any profile to them. My printer just told me that I need to have a matching color profile,