SAVE EXCEPTIONS when fetching from cursors by BULK COLLECT possible?

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
Hello,
I'm using an Cursor's FETCH by BULK COLLECT INTO mydata...
Is it possible to SAVE EXCEPTIONS like with FORALL? Or is there any other possibility to handle exceptions during bulk-fetches?
Regards,
Martin

The cursor's SELECT-statement uses TO_DATE(juldat,'J')-function (for converting an julian date value to DATE), but some rows contain an invalid juldat-value (leading to ORA-01854).
I want to handle this "rows' exceptions" like in FORALL.
But it could also be any other (non-Oracle/self-made) function within "any" BULK instruction raising (un)wanted exceptions... how can I handle these ones?
Martin

Similar Messages

  • How to fetch from cursor into plsql collection

    Dear Friends,
    I am trying to understand PLSQL collections. I am trying with the following example.
    CREATE OR REPLACE TYPE emp_obj AS OBJECT
    (     empname          VARCHAR2(100),     empjob          VARCHAR2(50),     empsal          NUMBER);
    CREATE OR REPLACE TYPE emp_tbl IS TABLE OF emp_obj;
    CREATE OR REPLACE PACKAGE eg_collection AS
    -- Delcare ref cursor
    TYPE rc IS REF CURSOR;
    -- Procedure
    PROCEDURE eg_collection_proc (out_result OUT rc);
    END;
    CREATE OR REPLACE PACKAGE BODY eg_collection AS
    PROCEDURE eg_collection_proc( out_result OUT rc) AS
    emp_tdt     emp_tbl := emp_tbl(emp_obj('oracle','DBA',100));
    CURSOR c2 IS SELECT ename,job,sal FROM emp WHERE sal > 2000;
    -- Declare a record type to hold the records from cursor and then pass to the collection
    emp_rec emp_obj;
    BEGIN
         OPEN c2;
         LOOP FETCH c1 INTO emp_rec;
              EXIT WHEN c1%NOTFOUND;
              emp_tdt.extend;
    emp_tdt(emp_tdt.count) := emp_rec;
         END LOOP;
         CLOSE c2;
    OPEN out_result FOR SELECT * FROM TABLE(CAST(emp_tdt AS emp_tbl));
    END eg_collection_proc;
    END eg_collection;
    Executing the proc
    variable r refcursor;
    exec eg_collection.eg_collection_proc(:r);
    print r;
    But I am getting compilation error type mismatch found at emp_rec between fetch cursor into variable

    I am trying to understand PLSQL collections. I dont why the code is not working
    SQL> CREATE OR REPLACE TYPE emp_obj AS OBJECT
    2 (
    3      empname          VARCHAR2(100),
    4      empjob          VARCHAR2(50),
    5      empsal          NUMBER
    6 )
    7 /
    Type created.
    SQL> CREATE OR REPLACE TYPE emp_tbl IS TABLE OF emp_obj
    2 /
    Type created.
    SQL> DECLARE
    2      emp_tdt emp_tbl := emp_tbl ();
    3 BEGIN
    4
    5      emp_tdt.extend;
    6      SELECT emp_obj(ename, job, sal) BULK COLLECT INTO emp_tdt
    7      FROM emp WHERE sal < 4000;
    8
    9      DBMS_OUTPUT.PUT_LINE ('The total count is ' || emp_tdt.count);
    10
    11      emp_tdt.extend;
    12      SELECT ename, job, sal INTO emp_tdt(1).empname, emp_tdt(1).empjob, emp_tdt(1).empsal
    13      FROM emp WHERE empno = 7900;
    14
    15      DBMS_OUTPUT.PUT_LINE ('The total count is ' || emp_tdt.count);
    16
    17 END;
    18 /
    The total count is 13
    The total count is 14
    PL/SQL procedure successfully completed.
    SQL> DECLARE
    2      emp_tdt emp_tbl := emp_tbl ();
    3 BEGIN
    4
    5      emp_tdt.extend;
    6      SELECT ename, job, sal INTO emp_tdt(1).empname, emp_tdt(1).empjob, emp_tdt(1).empsal
    7      FROM emp WHERE empno = 7900;
    8
    9      DBMS_OUTPUT.PUT_LINE ('The total count is ' || emp_tdt.count);
    10
    11      emp_tdt.extend;
    12      SELECT emp_obj(ename, job, sal) BULK COLLECT INTO emp_tdt
    13      FROM emp WHERE sal < 4000;
    14
    15      DBMS_OUTPUT.PUT_LINE ('The total count is ' || emp_tdt.count);
    16 END;
    17 /
    DECLARE
    ERROR at line 1:
    ORA-06530: Reference to uninitialized composite
    ORA-06512: at line 6

  • Use of FOR Cursor and BULK COLLECT INTO

    Dear all,
    in which case we prefer to use FOR cursor and cursor with BULK COLLECT INTO? The following contains two block that query identically where one is using FOR cursor, the other is using BULK COLLECT INTO . Which one that performs better given in the existing task? How do we measure performance between these two?
    I'm using sample HR schema:
    declare
    l_start number;
    BEGIN
    l_start:= DBMS_UTILITY.get_time;
    dbms_lock.sleep(1);
    FOR employee IN (SELECT e.last_name, j.job_title FROM employees e,jobs j
    where e.job_id=j.job_id and  e.job_id LIKE '%CLERK%' AND e.manager_id > 120 ORDER BY e.last_name)
    LOOP
      DBMS_OUTPUT.PUT_LINE ('Name = ' || employee.last_name || ', Job = ' || employee.job_title);
    END LOOP;
    DBMS_OUTPUT.put_line('total time: ' || to_char(DBMS_UTILITY.get_time - l_start) || ' hsecs');
    END;
    declare
    l_start number;
    type rec_type is table of varchar2(20);
    name_rec rec_type;
    job_rec rec_type;
    begin
    l_start:= DBMS_UTILITY.get_time;
    dbms_lock.sleep(1);
    SELECT e.last_name, j.job_title bulk collect into name_rec,job_rec FROM employees e,jobs j
    where e.job_id=j.job_id and  e.job_id LIKE '%CLERK%' AND e.manager_id > 120 ORDER BY e.last_name;
    for j in name_rec.first..name_rec.last loop
      DBMS_OUTPUT.PUT_LINE ('Name = ' || name_rec(j) || ', Job = ' || job_rec(j));
    END LOOP;
    DBMS_OUTPUT.put_line('total time: ' || to_char(DBMS_UTILITY.get_time - l_start) || ' hsecs');
    end;
    /In this code, I put timestamp in each block, but they are useless since they both run virtually instantaneous...
    Best regards,
    Val

    If you want to get 100% benifit of bulk collect then it must be implemented as below
    declare
         Cursor cur_emp
         is
         SELECT     e.last_name, j.job_title
         FROM     employees e,jobs j
         where     e.job_id=j.job_id
                   and  e.job_id LIKE '%CLERK%'
                   AND e.manager_id > 120
         ORDER BY e.last_name;
         l_start number;
         type rec_type is table of varchar2(20);
         name_rec rec_type;
         job_rec rec_type;
    begin
         l_start:= DBMS_UTILITY.get_time;
         dbms_lock.sleep(1);
         /*SELECT e.last_name, j.job_title bulk collect into name_rec,job_rec FROM employees e,jobs j
         where e.job_id=j.job_id and  e.job_id LIKE '%CLERK%' AND e.manager_id > 120 ORDER BY e.last_name;
         OPEN cur_emp;
         LOOP
              FETCH cur_emp BULK COLLECT INTO name_rec LIMIT 100;
              EXIT WHEN name_rec.COUNT=0;
              FOR j in 1..name_rec.COUNT
              LOOP
                   DBMS_OUTPUT.PUT_LINE ('Name = ' || name_rec(j) || ', Job = ' || job_rec(j));          
              END LOOP;
              EXIT WHEN cur_emp%NOTFOUND;
         END LOOP;
            CLOSE cur_emp;
         DBMS_OUTPUT.put_line('total time: ' || to_char(DBMS_UTILITY.get_time - l_start) || ' hsecs');
    end;
    /

  • Fetch from cursor when no records returned

    Hi,
    I've got the following question / problem?
    When I do a fetch from a cursor in my for loop and the cursor returns no record my variable 'r_item' keeps the value of the previous fetched record. Shouldn't it contain null if no record is found and I do a fetch after I closed and opend the cursor? Is there a way the clear the variable before each fetch?
    Below you find an example code
    CURSOR c_item (itm_id NUMBER) IS
    SELECT DISTINCT col1 from table1
    WHERE id = itm_id;
    r_item  c_item%ROWTYPE;
    FOR r_get_items IN c_get_items LOOP
      IF r_get_items.ENABLE = 'N' THEN       
          open c_item(r_get_items.ITMID);
          fetch c_item into r_item;
          close c_item;
          IF  r_item.ACCES = 'E' then
               action1
          ELSE                 
               action2
          END IF;
      END IF;
    END LOOP;  Thanx

    DECLARE
        CURSOR c_dept IS
          SELECT d.deptno
          ,      d.dname
          ,      d.loc
          ,      CURSOR (SELECT empno
                         ,      ename
                         ,      job
                         ,      hiredate
                         FROM   emp e
                         WHERE  e.deptno = d.deptno)
          FROM   dept d;
        TYPE refcursor IS REF CURSOR;
        emps refcursor;
        deptno dept.deptno%TYPE;
        dname dept.dname%TYPE;
        empno emp.empno%TYPE;
        ename emp.ename%TYPE;
        job emp.job%TYPE;
        hiredate emp.hiredate%TYPE;
        loc dept.loc%TYPE;
    BEGIN
       OPEN c_dept;
       LOOP
         FETCH c_dept INTO deptno, dname, loc, emps;
         EXIT WHEN c_dept%NOTFOUND;
         DBMS_OUTPUT.put_line ('Department : ' || dname);
         LOOP
           FETCH emps INTO empno, ename, job, hiredate;
           EXIT WHEN emps%NOTFOUND;
           DBMS_OUTPUT.put_line ('-- Employee : ' || ename);
         END LOOP;
      END LOOP;
      CLOSE c_dept;
    END;
    /like this...

  • NLS Error on Second Fetch from Cursor

    Oracle 8i using PRO*C
    We have a UNIX (HP) environment (operational account) in which the NLS_LANG was not set for the shell. One of our applications opened a cursor for update and performed its first fetch. After processing it went back to fetch an additional buffer. At this point, the application failed with the following error: "SQLCODE: ORA-01890: NLS error detected". When we set the NLS_LANG enviroment variable this error disappeared.
    I need to know what the NLS_LANG enviroment variable is doing and why it is causing the second fetch to fail when it is not set so I can argue with the powers that be to have this paremeter always set for this accounts shell (i.e. globally). No-one really knows what this does here or why it would cause the cursor to fail, and so they are telling us to just set the variable in our own applications shell.
    I know the real answer to this is to set it up for the operational (global) shell but...
    Thanks in advance,
    Bill Rosmus

    it is difficult. The main problem is that you can't be sure that the function is called only once for each row.
    Why don't you simply run the cursor and the function separatly in pl/sql.
      CURSOR myCur IS SELECT myTable1.* FROM myTable1 ;
      SUBTYPE myRecType IS myCur%ROWTYPE ;
      funcResult varchar2(100); /* use the correct return datatype from your function here */
      FOR myRec in myCur LOOP
          BEGIN
             funcResult := myPackage.myFunc(myRec.column1);
          EXCEPTION
             WHEN myPackage.myFunc_Exception THEN
               <... do anything when fetched but function myFunc raised this exception ...>
          END ;
          <...do anything with row currently fetched>
       END LOOP;You even have more control where to handle the exception. Also there is one pl/sql context switch less. Since the function itself is pl/sql it could even be faster to run it in pl/sql then to call it from sql (inside a select).

  • Dynamic Column Name while Fetching from Cursor?

    Scenario:
    I have a table having 5 Column C01,C02,C03,C04,C05....... now i have
    a record type variable att_rec. One first fetch the first record
    fetch into att_rec and i can access column like
    att_rec.C01,att_rec.C02 and so on simply i wan access these columns
    through following Loop but unable to do so. It Understand the
    att_Rec.C01 as String .. Any Clue ???
    IF NOT attdays_cnt%ISOPEN
    THEN
    OPEN attdays_cnt;
    END IF;
    /* Keep fetching until no more records are FOUND */
    FETCH attdays_cnt INTO att_rec;
    message('Cursor Opened');
    WHILE attdays_cnt%FOUND
    LOOP
    a31_cnt:=1; -- reinitializtion of variables for other employees
    p_days:=0;
    w_days:=0;
    WHILE a31_cnt<32 LOOP
    IF concat('ATT_REC.C',to_char(a31_cnt,'00'))='L'='P' THEN
    p_days:=p_days+1;
    ELSE ATT_REC.C01='W' THEN
    w_days:=w_days+1;
    END IF;
    END LOOP;
    Message was edited by:
    Fiz Dosani

    Perhaps this is marginally simpler with nested table, YMMV ;-)
    (based on Elic's example)
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    SQL> CRE ATE TABLE t (i, j, k)
      2  AS
      3     SELECT LEVEL, POWER (LEVEL, 2), POWER (LEVEL, 3)
      4     FROM DUAL
      5     CONNECT BY LEVEL <= 5;
    Table created.
    SQL> CREATE OR REPLACE type ntt_number AS TABLE OF NUMBER;
      2  /
    Type created.
    SQL> SET SERVEROUTPUT ON;
    SQL> DECLARE
      2     TYPE t_tbl IS TABLE OF ntt_number;
      3
      4     var t_tbl;
      5  BEGIN
      6     SELECT ntt_number (i, j, k)
      7     BULK COLLECT INTO var
      8     FROM   t;
      9
    10     FOR i IN 1 .. var.COUNT LOOP
    11        FOR j IN 1 .. var (i).COUNT LOOP
    12           DBMS_OUTPUT.PUT_LINE (
    13              'var (' || i || ') (' || j || ') => ' || var (i) (j));
    14        END LOOP;
    15     END LOOP;
    16  END;
    17  /
    var (1) (1) => 1
    var (1) (2) => 1
    var (1) (3) => 1
    var (2) (1) => 2
    var (2) (2) => 4
    var (2) (3) => 8
    var (3) (1) => 3
    var (3) (2) => 9
    var (3) (3) => 27
    var (4) (1) => 4
    var (4) (2) => 16
    var (4) (3) => 64
    var (5) (1) => 5
    var (5) (2) => 25
    var (5) (3) => 125
    PL/SQL procedure successfully completed.
    SQL>

  • Fetch from cursor variable

    Hello,
    I have a procedure, which specification is something like that:
    procedure proc1 (pcursor OUT SYS_REFCURSOR, parg1 IN NUMBER, parg2 IN NUMBER, ...);Inside the body of proc1 I have
    OPEN pcursor FOR
      SELECT column1,
                  column2,
                  CURSOR (SELECT column1, column2
                                    FROM table2
                                  WHERE <some clauses come here>) icursor1
          FROM table1
       WHERE <some clauses come here>;In a PL/SQL block I would like to execute proc1 and then to fetch from pcursor. This is what I am doing so far:
    DECLARE
      ldata SYS_REFCURSOR;
      larg1 NUMBER := 123;
      larg2 NUMBER := 456;
      outcolumn1 dbms_sql.Number_Table;
      outcolumn2 dbms_sql.Number_Table;
    BEGIN
      some_package_name.proc1 (ldata, larg1, larg2, ...);
      FETCH ldata BULK COLLECT INTO
        outcolumn1, outcolumn2,...,  *and here is my problem*;
    END;
    /How can I rewrite this in order to get the content of icursor1 ?
    Thanks a lot!

    Verdi wrote:
    How can I rewrite this in order to get the content of icursor1 ?
    Firstly ref cursors contain no data they are not result sets but pointers to compiled SQL statements.
    Re: OPEN cursor for large query
    PL/SQL 101 : Understanding Ref Cursors
    Ref cursors are not supposed to be used within PL/SQL or SQL for that matter, though people keep on insisting on doing this for some reason.
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/static.htm#CIHCJBJJ
    Purpose of Cursor Variables
    You use cursor variables to pass query result sets between PL/SQL stored subprograms and their clients. This is possible because PL/SQL and its clients share a pointer to the work area where the result set is stored.A ref cursor is supposed to be passed back to a procedural client language, such as Java or .Net.
    If you want to re-use a SQL statement in multiple other PL/SQL or SQL statements you would use a view.

  • Failed to initialize  Databank exception when run from OLT

    HI All,
    I've created a script with an associated databank,that runs perfectly fine when run from OpenScript. But when I run from OLT, the following waring is encountered.
    Start failure message from agent "OLT Server": oracle.oats.common.databank.DatabankException: Failed to initialize Databank 'Forms.forms'
    Stopped Autopilot because of error on agent "OLT Server".
    Name of my DB is : forms
    and Script name is :Forms
    Please let me know the solution for this.
    Regards,
    Karthik
    Edited by: user777720 on May 21, 2013 5:00 AM

    Have you tried changing the parameter in the Assets/Databank "Save Path" from "Relative to current script" to "Relative to a repository"?
    Regards, Ian.

  • Fetch From Cursor

    In my Procedure I want to explicitly open the cursor and fetch from the cursor and again close the cursor
    I don’t want to use like this for some testingsomething:
    Create procedure kk
    Cur out sys_refcursor
    As
    Open cur for
    Select * from table;
    End
    I need to use like this
    Create procedure kk
    Cursor c is select * from table; need to return this cursor.
    As
    How to return that cursor
    Thanks

    maybe something like:
    create or replace procedure get_emp_name as
      cursor c1 is
        select * from emp;
      vEname emp.ename%type;
    begin
      open c1;
      fetch c1 into vEname;
      if c1%notfound then
         exit;
      end if;
      close c1;
    end;
    /or
    Create procedure get_emp_name as
      Cursor c1 is
       select *
         from emp;
    begin
      for c1_rec in c1 loop
         dbms_output.put_line('Emp Name: '||c1_rec.ename);
      end loop;
    end;
    /

  • How do I save itunes when upgrading from osx4 to osx5 ?

    how do I save itunes. bookmark, when upgrading from osx4 to osx5?

    When you upgrade attached to iTunes a backup copy is made...then after the upgrade the backup is used to restore all the content to your iDevice, assuming you are actually talking about upgrading from iOS 4 to iOS 5.

  • PicDelete and PicLoad asking to save changes when called from SUD

    Hello!
    I'm trying to load different reports, change text values and graphics and export those reports to images. Sometimes I want to remove all reportsheets and load a new layout, but when calling picdelete a messagebox pops up and asks the user whether he wants to save the changes. I'm trying to get rid of that messagebox because my script gets halted and I don't want the user to overwrite my layout.
    This only happens when picdelete is called from a SUD and for the picdelete command this behaviour can be circumvented by using Call Execute("Call picdelete"). Sadly the same procedure does not work for the picload command.
    When called from the DIAdem scripting tab the report is loaded fine but I have found no way to use this command from a SUD without the messagebox appearing.
    Is there a workaround? Does DIAdem 2012 show the same behaviour?
    Edit: I guess I was wrong about that Call Execute("Call picdelete") workaround. I'm seeing the same messagebox. I don't know why I thought that helped.
    Best regards,
    grmume
    PS: I'm using DIAdem 2011

    Hi grmume
    In DIAdem 2012 the behavior is the same. But we have a completely new easy to use object oriented programming interface. There exist a method that reset the modified status of the Report
    http://zone.ni.com/reference/en-XX/help/370858K-01/reportapi/methods/report_method_resetmodified_ire...
    In former versions you only have the readonly variable PicIsChanged.
    But I tried a small script in DIAdem 2011 after changing the layout and it does not ask for saving the layout.
    call PicDelete
    Call picload("Demo.TDR")
     Hope this helps
    Winfried

  • Fetching from cursor

    Hello all.
    How can i enforce the sql+ start fetching first cursor field by
    one field intervals?
    My sql+ starts fetch from the second item by 2 records intervals,
    so the 4th record is the next one to fetched after the second.
    best regards
    yosi sarid.

    Hi,
    could you please show us the where clause of the cursor?
    I think you are missing something.
    Another fault in your Code is the x_commit_count.
    You increment it every time, but you never set it to zero again. So after 100 inserts, it commits after each loopstep.
    Is this what you want???
    DECLARE
    CURSOR c_cursor IS SELECT * FROM TABLE_A@REMOTE, TABLE_B@REMOTE WHERE...
    x_commit_count NUMBER := 0;
    BEGIN
    FOR r_record IN c_cursor LOOP
    INSERT INTO LOCAL_TABLE;
    x_commit_count := x_commit_count + 1;
    IF x_commit_count >= 100 THEN
    COMMIT;
    ELSE
    NULL;
    END IF;
    END LOOP;
    END;
    HTH
    Detlev

  • Help!!! slow fetch from cursor

    I have a problem fetching records from a ref cursor returned by a procedure.
    Basically I play both a PL/SQL developer and DBA roles for a development and production Oracle 9.2.0.6 databases hosted on separate Sun Solaris 5.8 servers. The problem PL/SQL signature is shown below, and it basiccally dynamically constructs a large querry (I will call global querry) which is a UNION ALL of 16 smaller querries and opens the cursor parameter for this dynamically constructed querry. The entire querry is assigned to a VARCHAR2(20000) variable, and is normally a little over 15,000 bytes in size. The returned cursor is used to publish the querry result records in Crystal reports. The problem is that the entire process of executing and fetching the result records from the procedure is taking as much as 25 minutes to complete. On investigation of the problem by executing the procedure with a PL/sql block in sqlplus, and adding timing constructs in the execution of the procedure and fetches from the returned cursor, I discovered to my shock that the procedure executes consistently in 1 second (second is the granularity of the timer), but each record fetch is done in a minimum of 16 seconds. All efforts to tune the database memory structures to improve the fetches have yielded very small improvements bringing down the fetch times to about 11 seconds. This is still unacceptable. Is there anybody out there who can suggest a solution to this problem?
    Procedure signature:
    sp_production_report ( p_result_set IN OUT meap_report.t_reportRefCur,
    p_date_from IN VARCHAR2,
    p_date_to IN VARCHAR2,
    p_agency_code IN INTEGER DEFAULT NULL,
    p_county_code IN INTEGER DEFAULT NULL,
    p_selection IN INTEGER DEFAULT 0);
    Test block in sqlplus:
    declare
    -- Local variables here
    i integer;
    v_start INTEGER;
    v_end INTEGER;
    v_end_fetch INTEGER;
    v_cnt INTEGER := 0;
    v_end_loop INTEGER;
    v_elapsed INTEGER;
    v_cur meap_report.t_reportRefCur;
    v_desc VARCHAR2(300);
    v_hh VARCHAR2(300);
    v_meap INTEGER;
    v_bp INTEGER;
    v_ara INTEGER;
    v_tot INTEGER;
    BEGIN
    -- Test statements here
    DBMS_OUTPUT.ENABLE(100000);
    SELECT TO_NUMBER ( TO_CHAR(SYSDATE, 'SSSSS')) INTO v_start FROM DUAL;
    sp_production_report ( p_result_set => v_cur,
    p_date_from => '07/01/2008',
    p_date_to => '07/31/2008',
    p_selection => 0);
    SELECT TO_NUMBER ( TO_CHAR(SYSDATE, 'SSSSS') ) INTO v_end FROM DUAL;
    FETCH v_cur INTO v_desc, v_hh, v_meap, v_bp, v_ara, v_tot;
    SELECT TO_NUMBER ( TO_CHAR(SYSDATE, 'SSSSS') ) INTO v_end_fetch FROM DUAL;
    WHILE v_cur%FOUND LOOP
    v_cnt := v_cnt + 1;
    FETCH v_cur INTO v_desc, v_hh, v_meap, v_bp, v_ara, v_tot;
    END LOOP;
    SELECT TO_NUMBER ( TO_CHAR(SYSDATE, 'SSSSS') ) INTO v_end_loop FROM DUAL;
    v_elapsed := v_end_loop - v_end;
    DBMS_OUTPUT.PUT_LINE ( 'Procedure (p_selection 0) executed in ' || TO_CHAR ( (v_end - v_start) ) || ' seconds.' );
    DBMS_OUTPUT.PUT_LINE ( 'Fetched 1st record in ' || TO_CHAR ( (v_end_fetch - v_end) ) || ' seconds.' );
    DBMS_OUTPUT.PUT_LINE ( 'Procedure (p_selection 0) :' || TO_CHAR (v_cnt) ||
    ' records fetched in ' || TO_CHAR ( v_elapsed ) || ' seconds.' );
    CLOSE v_cur;
    END;

    And why not use timestamps instead of dates? They get subsecond resolution:
    declare
            t1 timestamp;
            t2 timestamp;
            d1 INTERVAL DAY(3) TO SECOND(3);
    begin
            t1 := systimestamp;
            dbms_lock.sleep(1.45);
            t2 := systimestamp;
            d1 := t2 - t1;
            dbms_output.put_line('Start:    '||t1);
            dbms_output.put_line('End:      '||t2);
            dbms_output.put_line('Duration: '||d1);
    end;
    /As for how to speed up your fetch, that depends on how the SQL the cursor is based on is constructed. Without that you need to refer to Rob's post.

  • NotSerializableException exception (when moving from 7.0 to 8.1 SP3)

    When migrating from WL 7.0 to WL8.1SP3, I get the following exception
    weblogic.utils.AssertionError: ***** ASSERTION FAILED ***** - with nested exception:
    [java.io.NotSerializableException: com.test.ClientContext$ClientAccount]
    at weblogic.rmi.internal.CBVWrapper.copy(CBVWrapper.java:55)
    at com.test.lookup.BClient_dykqq8_EOImpl_CBV.getActiveClients(Unknown Source)
    at com.test.gui.ClientHandler.getAllClients(ClientHandler.java:86)
    I don't get this error if I add <enable-call-byreference> to True in my WL8.1 weblogic-ejb-jar.xml file.
    I never had this tag <enable-call-byreference> in my original WL8.1 weblogic-ejb-jar.xml file.

    The default for call-by-reference was true before 8.1. You'll have to explicitly set it to true in 8.1 and later.
    -- Rob

  • Scim makes leafpad take a while to load, except when run from terminal

    Leafpad normally loads up in an instant. But with scim running (More specifically with the required environment variables exported. Scim simply running without the environment variables does not cause the problem, but then scim does not work.), although it shows up immediately, the scrollbar, menubar etc are greyed out for a few seconds and the program cannot be used until it is fully loaded.
    I'm sure this is specifically a leafpad problem, because there is no noticable lag in other programs. (Mousepad for example is fine.) However, the fact that it loads immediately when run from a terminal scares me. Why doesn't gmrun (and the fvwm menu) work just like a terminal? Is there a possible fix to this problem?

    droog wrote:
    I'm not having this problem as far as i can see, I use fvwm and scim already so installed leafpad to test and it starts instantly from fvwm's menu or terminal.
    from gmrun leafpad starts instantly too so maybe i'm missing something.
    what are you exporting?
    Just the normal:
    export XMODIFIERS=@im=SCIM
    export GTK_IM_MODULE="scim"
    export QT_IM_MODULE="scim"

Maybe you are looking for

  • Multiple problems on multiple new 8330's

    In september I bought an 8330 curve. It worked great, and other than a few small things (not comfirming bbm contacts) it worked awesome, solid, never unstable. The screen started to have bubbles on the inside of it, so I took it in on warranty, and w

  • Very simple: Does anyone with the 2.16GHz have the whine?

    I'm starting to notice something. Of all of the users who are (rightfully) complaining about the whine problem, it seems that none of them are those with the 2.16GHz upgrade. I recently ordered my MacBook Pro (and therefore do not have it), but a qui

  • IWork - why can't i get it free?

    I first got to know about iWork products (Pages, Keynote, Numbers) when i bought my first iPad in 2010. I bought all 3 for my iPad. Beautiful products.  As time goes by, i bought a MacBook Pro in 2011 but thought there wasn't a bundle pricing for me

  • JCO_ERROR_COMMUNICATION: CPIC-CALL: CMRCV on convId: 02667299

    Hi Experts, I am having some issue with PO and ECC connectivity with data load from PO to ECC system via RFC connection RFC is configured in PO , SOA -> Technical Configuration -> System Connections -> Provider Systems -> Connectivity  as below from

  • How to make 32 bit software to contact 64 bit oracle

    Hi I m using Oracle 10G 64 bit in Windows 64 bit server. Our Product is a 32 bit software and when i m trying to create database using our product it is throwing JDBC Driver error. So i installed 32 bit Oracle client and set the user env variables fo