DBMS_LOB.ISOPEN throws the error ora-22275 invalid lob locator

DBMS_LOB.ISOPEN throws the error below error.
ora-22275 invalid lob locator
The below assume that i am getting the v_lob_length as empty. But i am getting error when it comes to DBMS_LOB.ISOPEN.
Please correct me if i am wrong.
here is my code:
DBMS_LOB.createtemporary(v_xml_clob, TRUE);
DBMS_LOB.open(v_xml_clob, DBMS_LOB.lob_readwrite);
SELECT  DBMS_XMLGEN.getxml ('SELECT object_name, object_type from dba_objects where rownum <= 5')
INTO    v_xml_clob
FROM    DUAL;
v_lob_length    := NVL(DBMS_LOB.getlength(v_xml_clob),0);
v_index       := 1;
fnd_file.put_line(fnd_file.log,'v_lob_length : '||v_lob_length);
WHILE v_index <= v_lob_length
LOOP
    v_read_cnt   := 32767;
    DBMS_LOB.read (
          v_xml_clob,
          v_read_cnt,
          v_index,
          v_chunk
    fnd_file.put(fnd_file.output,v_chunk);
    v_index := v_index + v_read_cnt;
END LOOP;
IF DBMS_LOB.ISOPEN(v_xml_clob) = 1
THEN
    DBMS_LOB.close(v_xml_clob);
    DBMS_LOB.freetemporary(v_xml_clob);
END IF;

Most likely v_xml_clob is NULL so you'd rather check IF v_xml_clob IS NOT NULL AND DBMS_LOB.ISOPEN(v_xml_clob) = 1
THENbye
TPD

Similar Messages

  • Oracle 11g - Error ORA-22275: invalid LOB locator specified

    Getting error during oBlob.freeTemporary() as
    clearBlobValues() throws Exception
    oracle.sql.BLOB oBlob = oset.getBLOB(i);
    oBlob.freeTemporary();
    I googled this error and get some solution
    "Cause: There are several causes: (1) the LOB locator was never initialized; (2) the locator is for a BFILE and the routine expects a BLOB/CLOB/NCLOB locator; (3) the locator is for a BLOB/CLOB/NCLOB and the routine expects a BFILE locator; (4) trying to update the LOB in a trigger body -- LOBs in trigger bodies are read only; (5) the locator is for a BFILE/BLOB and the routine expects a CLOB/NCLOB locator; (6) the locator is for a CLOB/NCLOB and the routine expects a BFILE/BLOB locator;
    Action: For (1), initialize the LOB locator by selecting into the locator variable or by setting the LOB locator to empty. For (2),(3), (5) and (6)pass the correct type of locator into the routine. For (4), remove the trigger body code that updates the LOB value."
    but not sure how to go about this. Can anyone lends a helping hand?
    Thanx in advance
    Edited by: user13503846 on Sep 7, 2011 10:16 AM

    You should try to post a small but complete example that allows to reproduce the issue with:
    1. your 4 digits Oracle version (client and server)
    2. the language you are using.

  • ORA-22275 Invalid lob locator when using CLOB from a view

    Hi,
    I am having problems when passing a CLOB from a "Union all" view to a function. I get an ORA-22275 error when trying to construct an XmlType from the CLOB and
    the CLOB originates from a view. If the CLOB originates from a table, eveyting works fine. Here is the code, that reproduces the problem
    CREATE TABLE testclob
        (field1                         CLOB)
    -- insert some data
    insert into testclob values ('<a/>');
    -- Define a clob view over some tables
    create or replace view v_testclob
    (field1)
    as
    select field1 from testclob
    union all
    select field1 from testclob; -- in reallity I use different tables
    -- Creat a functions that proceses the CLOB
    CREATE OR REPLACE
    function MyFunction(v_myClob clob) return VARCHAR2
    IS
       myXML XMLTYPE;
    BEGIN
      select xmltype(v_myClob) into myxml from dual; -- the view crashes ** HERE **
      -- code ommited
      return 'some data';
    END;
    -- Try to use the function:
    -- Selecting from a table works OK
    select myfunction(field1) from testclob;
    -- Selecting from the view crashes
    select myfunction(field1) from v_testclob;
    Error: ORA-22275: invalid LOB locator specified ORA-22275: invalid LOB locator specified ORA-06512: at "D_TEST.MYFUNCTION", line 6
    -- I using the following version:
    select * from v$version;
    -- Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production      
    -- PL/SQL Release 9.2.0.1.0 - Production                           
    -- CORE     9.2.0.1.0     Production                                       
    -- TNS for 32-bit Windows: Version 9.2.0.1.0 - Production          
    -- NLSRTL Version 9.2.0.1.0 - Production The only workaround I have found is to use substr
      select xmltype(dbms_lob.substr(v_myClob)) into myxml from dual; -- workaround.. but this mght trucnate my data.
    What am I doing wrong?
    Matej

    You need to apply the latest patchset for your version of the database on your version of the operating system:
    SQL> CREATE TABLE testclob
      2      (field1                         CLOB)
      3
    SQL> /
    Table created.
    SQL>
    SQL> -- insert some data
    SQL> insert into testclob values ('<Data>Testing</Data>')
      2  /
    1 row created.
    SQL>
    SQL> -- Define a clob view over some tables
    SQL>
    SQL> create or replace view v_testclob
      2  (field1)
      3  as
      4  select field1 from testclob
      5  union all
      6  select field1 from testclob
      7  /
    View created.
    SQL>
    SQL> -- Creat a functions that proceses the CLOB
    SQL>
    SQL> CREATE OR REPLACE
      2  function MyFunction(v_myClob clob) return VARCHAR2
      3  IS
      4     myXML XMLTYPE;
      5  BEGIN
      6
      7    select xmltype(v_myClob) into myxml from dual; -- the view crashes ** HERE **
      8    -- code ommited
      9    return 'some data';
    10  END;
    11
    12  /
    Function created.
    SQL> -- Try to use the function:
    SQL> -- Selecting from a table works OK
    SQL> select myfunction(field1) from testclob;
    MYFUNCTION(FIELD1)
    some data
    SQL>
    SQL>
    SQL> -- Selecting from the view crashes
    SQL> select myfunction(field1) from v_testclob;
    MYFUNCTION(FIELD1)
    some data
    some data
    SQL> disconnect
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.7.0 - Production
    SQL>

  • ORA-22275 :invalid LOB locator specified error while loading BLOBs/CLOBS.

    Hello All,
    I am trying to load BLOB/CLOB data from a client oracle DB to the oracle db on our side,we are using ODI version 10.1.3.5.6,which reportedly has the issue of loading BLOB/CLOBS solved.I am using
    The extraction fails in the loading stage when inserting data into the C$ table with the following error.
    "22275:99999 :java.sql.BatchUpdateException:ORA-22275:Invalid LOB locator specified".
    Kindly let me know how I can resolve this issue as the requirement to load this data is very urgent.
    Thanks,
    John

    One alternate way can be done out of ODI as ODI is still not able to resolve this issue. You can trim these fields (CLOB/BLOB) and push this data as separate fields into ODI and at the reporting end you can again concatenate them.
    May be this may solve your problem ....it solved mine.
    --XAT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • ORA-22275: invalid LOB locator specified

    Hello,
    I use Oracle 11.2.0.3. APEX 4.2.2... Listener 2.0.3 .... Glassfish server 4.0.
    When I run this procedure ( that is used in this tutorial )
    I get ORA-22275: invalid LOB locator specified.
    The error persists over Glass fish 3.0.2, Listener 2.0.1 and 2.0.2.
    Also, I installed this patch 16803775, but to not avail.
    declare
            v_mime  VARCHAR2(48);
            v_length  NUMBER;
            v_file_name VARCHAR2(2000);
            Lob_loc  BLOB;
    BEGIN
            SELECT MIMETYPE, CONTENT, filename,DBMS_LOB.GETLENGTH(content)
                    INTO v_mime,lob_loc,v_file_name,v_length
                    FROM image
                    WHERE id = 70;
                     htp.init;
                  -- set up HTTP header
                        -- use an NVL around the mime type and
                        -- if it is a null set it to application/octect
                        -- application/octect may launch a download window from windows
                        owa_util.mime_header( nvl(v_mime,'application/octet'), FALSE );
                    -- set the size so the browser knows how much to download
                    htp.p('Content-length: ' || v_length);
                    -- the filename will be used by the browser if the users does a save as
                    htp.p('Content-Disposition:  attachment; filename="'||replace(replace(substr(v_file_name,instr(v_file_name,'/')+1),chr(10),null),chr(13),null)|| '"');
                    -- close the headers  
                    owa_util.http_header_close;        
                    owa_util.http_header_close;
                    -- download the BLOB
                    wpg_docload.download_file( Lob_loc );
    end  ;
    Any help pls, in getting that procedure works ?
    Regards,
    Fateh

    replace this statement
    select empty_clob() into c_xml from dual for update;
    with
    dbms_lob.createtemporary(c_xml, TRUE);

  • ORA-22275: invalid LOB locator specified on trigger

    I have a trigger which copies a blob on insert to one table to another.
    CREATE OR REPLACE TRIGGER SWZTPRO.TSWTMPI_BEFORE_INSERT
    BEFORE INSERT
    ON SWZTPRO.TO_TSWTMPI
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    DECLARE
    discriminator TO_TSWCRUL.BTC_DIS%TYPE;
    discriminator:=:NEW.BTC_DIS;
    insert into .....
    If using after insert this triggerworks, but if the trigger fails for any reason, the client does not recieve the error.
    If using before insert this fails:
    insert into table, use before insert trigger
    ORA-22275: invalid LOB locator specified
    ORA-06512: at "SWZTPRO.TSWTMPI_BEFORE_INSERT", line 108
    ORA-22275: invalid LOB locator specified
    ORA-04088: error during execution of trigger 'SWZTPRO.TSWTMPI_BEFORE_INSERT'
    Any help would be appreciated

    I have also used a varaiation tirgger to do an instead of on insert on a view and I get the following error:
    ORA-25008: no implicit conversion to LOB datatype in instead-of trigger

  • ORA-22275 invalid LOB locator

    I've tried to append couple of BLOB fields from one table and then update it to a record in another table. I got the following error. Does anyone know why?
    CHECK POINT 1
    begin
    ERROR at line 1:
    ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified:
    ORA-22275
    ORA-06512: at "SYS.DBMS_LOB", line 753
    ORA-06512: at "RBSSDEV.PG_TB_COMMENT_DETAIL", line 57
    ORA-06512: at line 2
    My store procedure is :
    PROCEDURE SP_Insert_Comment_Detail
    ( v_CommentOID IN TB_COMMENT_DETAIL.COMMENTOID%TYPE ,
    v_DBName IN TB_COMMENT_DETAIL.DBNAME%TYPE ,
    v_ApplicationOID IN TB_COMMENT_DETAIL.APPLICATIONOID%TYPE ,
    v_Comments IN TB_COMMENT_DETAIL.COMMENTS%TYPE ,
    v_Created IN TB_COMMENT_DETAIL.CREATED%TYPE ,
    v_UserID IN TB_COMMENT_DETAIL.USERID%TYPE
    IS
    lv_CommentsBlob BLOB := EMPTY_BLOB;
    lv_CommentBlob BLOB := EMPTY_BLOB;
    lv_NewComment VARCHAR2(1) := 'N';
    CURSOR CommentDetail_cur IS
    SELECT Comments
    FROM TB_COMMENT_DETAIL
    WHERE CommentOID = v_CommentOID
    ORDER BY RecDate, DBName;
    CURSOR Comment1_cur IS
    SELECT Comments
    FROM COMMENT1
    WHERE CommentOID = v_CommentOID FOR UPDATE;
    BEGIN
    DBMS_LOB.CreateTemporary(lv_CommentBlob, TRUE, DBMS_LOB.CALL);
    OPEN CommentDetail_cur;
    FETCH CommentDetail_cur INTO lv_CommentBlob;
    IF CommentDetail_cur%NOTFOUND THEN
    lv_NewComment := 'Y';
    END IF;
    CLOSE CommentDetail_cur;
    INSERT INTO TB_COMMENT_DETAIL
    (CommentOID, RecDate, DBName, ApplicationOID,
    Comments, Created, UserID)
    VALUES
    (v_CommentOID, SYSDATE, v_DBName, v_ApplicationOID,
    v_Comments, v_Created, v_UserID);
    IF lv_NewComment = 'Y' THEN
    INSERT INTO Comment1
    VALUES (v_CommentOID, v_ApplicationOID, v_Comments, v_Created, v_UserID);
    COMMIT;
    ELSE
    DBMS_LOB.CreateTemporary(lv_CommentBlob, TRUE, DBMS_LOB.CALL);
    DBMS_LOB.CreateTemporary(lv_CommentsBlob, TRUE, DBMS_LOB.CALL);
    OPEN Comment1_cur;
    FETCH Comment1_cur INTO lv_CommentsBlob;
    -- Empty the Comments field of the Comment1 table
    IF Comment1_cur%FOUND THEN
    DBMS_OUTPUT.PUT_LINE('CHECK POINT 1');
    DBMS_LOB.TRIM(lv_CommentsBlob, 0);
    DBMS_OUTPUT.PUT_LINE('CHECK POINT 2');
    END IF;
    OPEN CommentDetail_cur;
    LOOP
    FETCH CommentDetail_cur INTO lv_CommentBlob;
    EXIT WHEN CommentDetail_cur%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE('CHECK POINT 3');
    DBMS_LOB.APPEND(lv_CommentsBlob, lv_CommentBlob);
    DBMS_OUTPUT.PUT_LINE('CHECK POINT 4');
    END LOOP;
    COMMIT;
    CLOSE Comment1_cur;
    CLOSE CommentDetail_cur;
    END IF;
    END SP_Insert_Comment_Detail;

    Sorry about that, error came from elsewhere...
    Thanks anyway
    Best regards
    Neil.

  • ORA-22275: invalid LOB locator specified in a function

    Hello all!!!
    I am having a little problem with a function that returns a blob... When I call the function, I get that error... Here is the function (I took all the exception management code to clear it up a little...)
    <CODE>
    FUNCTION f_getfileblob (p_id IN NUMBER,
    p_application IN VARCHAR2,
    p_subject IN VARCHAR2)
    RETURN BLOB
    IS
    v_table_name VARCHAR2(50);
    v_sql_string VARCHAR2(1000);
    lobfile BLOB := empty_blob();
    v_error NUMBER;
    BEGIN
    SELECT TABLE_NAME INTO v_table_name FROM ORACLE_TEXT_FILE WHERE APPLICATION = p_application AND SUBJECT = p_subject;
    v_sql_string := 'SELECT FILE_BLOB FROM ' || v_table_name || ' WHERE id = :1';
    EXECUTE IMMEDIATE v_sql_string INTO lobfile USING p_id;
    RETURN lobfile;
    END;
    </CODE>
    So, in this function, the first select is to find the name of the table in which I store my blobs (I'm trying to do something generic and cross application). Once I have that name, I can do the select of the blob. I can only use dynamic SQL because of the table name that is not known in advance.
    I tried this function with
    DBMS_LOB.CREATETEMPORARY(LOBFILE, TRUE, DBMS_LOB.CALL);
    to create the lob at the begining, but this returns another error... (i tried with and without the initialisation of the blob, empty_blob())
    ORA-24801: illegal parameter value in OCI lob function. But I don't even know if it would help...
    Can somebody please help me?
    Thanks and best regards
    Neil.

    Sorry about that, error came from elsewhere...
    Thanks anyway
    Best regards
    Neil.

  • ORA-22275: invalid LOB locator specified problem

    Hi
    Can anybody point me in the right direction.. I am NOT using clob and blob anywhere in my operation.. All I am doing is plain inserts from arrays.. and it gives me this error.
    Here is the code:
    Connection conn = null;
              Statement stmt = null;
              PreparedStatement ps = null;
              CallableStatement cs= null;
              ResultSet rs = null;
              Connection conn1 = null;
              Statement stmt1 = null;
              CallableStatement cs1= null;
              ResultSet rs1 = null;
    conn = DataSrc.getDataSource().getConnection();
                   stmt =conn.createStatement();
                   conn1 = DataSrc.getDataSource().getConnection();
                   stmt1 =conn1.createStatement();
                   rs = stmt.executeQuery(sql1);
                   while (rs.next()) {
                        var10 = rs.getString(1);                    
                   cs=conn.prepareCall("{call proc1}");
                   cs.execute();
                   cs.close();
                   stmt = conn.createStatement();
                   ps = conn.prepareStatement(sql);
                   for (int pl = 0; pl < ij; pl++) {
                        var2 = array1[pl];
                        var3 = array2[pl];
                        var4 = array3[pl];
                        var5 = array4[pl];
                        var6 = “ABC”;
                        var7 = “ABC”;
                        var8 = array8[pl];
                        var9 = “ABC”;
                        var1 = var2.substring(0,6);
                        var2 = var2.substring(var2.length()-1);
                        var3 = var3.replace("'","");
                        if (var9.length()<5) {
                             var9 = "00" + var9;
                        if (var9.length()<6) {
                             var9 = "0" + var9;
                        String sql2 = "xxxxxx";
                        rs1 = stmt1.executeQuery(sql2);
                        while (rs1.next()) {
                             var11 = rs1.getString(1);                    
                                            if (!var2.equals(var8)) {
                             ps.setString(1, var1);
                             ps.setString(2, var2);
                             ps.setString(3, var3);
                             ps.setString(4, var4);
                             ps.setString(5, var5);
                             ps.setString(6, var6);
                             ps.setString(7, var7);
                             ps.setString(8, var8);
                             ps.setString(9, var9);
                             ps.setString(10, var10);
                             ps.setString(11, var11);
                             ps.executeUpdate();
                   ps.close();
                   cs=conn.prepareCall("{call xxxxxxxxx}");
                   cs.execute();
                   cs.close();               
                   stmt.executeUpdate("COMMIT");
                   stmt.close();
                   conn.close();
                   rs1.close();
                   stmt1.close();
                   conn1.close();

    cs=conn.prepareCall("{call proc1}");
    cs=conn.prepareCall("{call xxxxxxxxx}");check those procedures, might be invloved clob and blob operation....

  • Error -ORA-01483: invalid length for DATE or NUMBER bind variable

    In discoverer plus, attempt to save a discoverer workbook into the database fails with the error:
    ORA-01483 invalid length for DATE or NUMBER bind variable
    The same workbook can be safely saved in "My Computer".
    Any idea why and what is the solution.

    Why: not quite sure, probably the code is validating the workbook when it saves it to the db and you've got an error in the sql. What happens when you run the workbook that you saved to the file system? Does it show the same error when run?
    Solution: Can you post the sql in the workbook? In the meantime try the following: Replace any to_char statements around dates with to_date statements instead. For example:
    Replace:
    where to_char(mydate, 'dd-mon-yyyy') = '05-apr-2009'
    With:
    where mydate = to_date('05-APR-2009','DD-MON-YYYY')

  • Trying to produce report but have ERROR ORA-00900: invalid SQL statement

    Hi,
    I am new to Oracle so have been experimenting with a few things to get the hang of it. I have been trying to produce a report, but keep getting the error: ORA-00900: invalid SQL statement.
    This happens at my first line of code where I have COLUMN <column_name> HEADING <Heading_name>
    So I am a bit confused - is there a command that I am supposed to issue that indicates to SQL*Plus that I am trying to create a report?
    Also, if I just delete the COLUMN <column_name> HEADING <Heading_name> rows and just start at BREAK ON <column_name> SKIP 1, it produces the same error.
    I am using Oracle 8.0.6 - does this make a difference?
    Here is my code:
    COLUMN a.p_ctryid HEADING 'Country'
    COLUMN s.p_animid HEADING 'Stallion ID'
    COLUMN s.p_uname HEADING 'Stallion Name'
    COLUMN a.p_animid HEADING 'Horse ID'
    COLUMN d.p_careertp HEADING 'Career'
    BREAK ON s.p_animid SKIP 1
    BREAK ON d.p_careertp SKIP 2
    COMPUTE SUM LABEL 'Total' OF d.p_careertp ON REPORT
    SELECT DISTINCT a.p_ctryid, s.p_animid, s.p_uname, a.p_animid, d.p_careertp
    FROM p_owby.p_animal a, p_owby.p_animal s, p_owby.p_mating m, p_owby.p_anim_dtl d
    WHERE m.p_mateyr = 2001
    AND a.p_animid = d.p_animid
    AND a.p_animid = m.p_animid
    AND a.p_animid > 0
    AND s.p_animid = a.p_sire
    AND a.p_ctryid IN('GB','IRE')
    GROUP BY a.p_ctryid, s.p_animid, s.p_uname, d.p_careertp, a.p_animid
    ORDER BY a.p_ctryid, s.p_animid, d.p_careertp
    Any help would be greatly appreciated!
    Thanks in advance!

    You are trying to do COMPUTE SUM ... ON REPORT but there is no BREAK ON REPORT specified. The computed sum will not be shown unless you also break on report. see below demonstration. first select has no sum even though we have specified COMPUTE. The second select shows the sum since now we have done break on report.
    SQL> compute sum of sal on report
    SQL> select * from scott.emp order by empno ;
         EMPNO ENAME      JOB              MGR HIREDATE           SAL       COMM     DEPTNO
          7369 SMITH      CLERK           7902 17-DEC-1980        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-1981       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-1981       1250        500         30
          7566 JONES      MANAGER         7839 02-APR-1981       2975                    20
          7654 MARTIN     SALESMAN        7698 28-SEP-1981       1250       1400         30
          7698 BLAKE      MANAGER         7839 01-MAY-1981       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-1981       2450                    10
          7788 SCOTT      ANALYST         7566 19-APR-1987       3000                    20
          7839 KING       PRESIDENT            17-NOV-1981       5000                    10
          7844 TURNER     SALESMAN        7698 08-SEP-1981       1500          0         30
          7876 ADAMS      CLERK           7788 23-MAY-1987       1100                    20
          7900 JAMES      CLERK           7698 03-DEC-1981        950                    30
          7902 FORD       ANALYST         7566 03-DEC-1981       3000                    20
          7934 MILLER     CLERK           7782 23-JAN-1982       1300                    10
    14 rows selected.
    SQL> break on report
    SQL> select * from scott.emp order by empno ;
         EMPNO ENAME      JOB              MGR HIREDATE           SAL       COMM     DEPTNO
          7369 SMITH      CLERK           7902 17-DEC-1980        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-1981       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-1981       1250        500         30
          7566 JONES      MANAGER         7839 02-APR-1981       2975                    20
          7654 MARTIN     SALESMAN        7698 28-SEP-1981       1250       1400         30
          7698 BLAKE      MANAGER         7839 01-MAY-1981       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-1981       2450                    10
          7788 SCOTT      ANALYST         7566 19-APR-1987       3000                    20
          7839 KING       PRESIDENT            17-NOV-1981       5000                    10
          7844 TURNER     SALESMAN        7698 08-SEP-1981       1500          0         30
          7876 ADAMS      CLERK           7788 23-MAY-1987       1100                    20
          7900 JAMES      CLERK           7698 03-DEC-1981        950                    30
          7902 FORD       ANALYST         7566 03-DEC-1981       3000                    20
          7934 MILLER     CLERK           7782 23-JAN-1982       1300                    10
    sum                                                         29025
    14 rows selected.
    SQL>

  • DBMS_LOB.CONVERTTOBLOB invalid LOB locator specified: ORA-22275

    Hi all,
    the following code has been working great on 11g (and apex.oracle.com)
    now when I try to use this function under 10g XE
    I get following error :
    ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified: ORA-22275
    ORA-06512: at "SYS.DBMS_LOB", line 696
    ORA-06512: at "RIGHTSHOP.C2B", line 14line 14 being the line with DBMS_LOB.CONVERTTOBLOB
    any ideas ?
    CREATE OR REPLACE FUNCTION c2b( p_clob IN CLOB )
          RETURN BLOB
    is
      temp_blob   BLOB;
      dest_offset NUMBER  := 1;
      src_offset  NUMBER  := 1;
      amount      INTEGER := dbms_lob.lobmaxsize;
      blob_csid   NUMBER  := dbms_lob.default_csid;
      lang_ctx    INTEGER := dbms_lob.default_lang_ctx;
      warning     INTEGER;
    BEGIN
    DBMS_LOB.CREATETEMPORARY(lob_loc=>temp_blob, cache=>TRUE);
      DBMS_LOB.CONVERTTOBLOB(temp_blob, p_clob,amount,dest_offset,src_offset,blob_csid,lang_ctx,warning);
      return temp_blob;
    END;Kr
    Martin

    Can't reproduce
    SQL> CREATE OR REPLACE FUNCTION c2b( p_clob IN CLOB )
    RETURN BLOB
    is
    temp_blob BLOB;
    dest_offset NUMBER := 1;
    src_offset NUMBER := 1;
    amount INTEGER := dbms_lob.lobmaxsize;
    blob_csid NUMBER := dbms_lob.default_csid;
    lang_ctx INTEGER := dbms_lob.default_lang_ctx;
    warning INTEGER;
    BEGIN
    DBMS_LOB.CREATETEMPORARY(lob_loc=>temp_blob, cache=>TRUE);
    DBMS_LOB.CONVERTTOBLOB(temp_blob, p_clob,amount,dest_offset,src_offset,blob_csid,lang_ctx,warning);
    return temp_blob;
    END;  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16 
    17  /
    Function created.
    SQL> declare
      2     b blob;
      3     c clob;
      4  begin
      5     c := 'x';
      6     b := c2b (c);
      7  end;
      8  /
    PL/SQL procedure successfully completed.
    SQL> and my version (also XE)
    SQL> select *
      2    from v$version
      3  /
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE     10.2.0.1.0     Production
    TNS for Linux: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production

  • ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified:

    "ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified: ORA-22275"
    I use the procedure to convert the documents if it is not already converted before using procedure as follows
    PROCEDURE "STARDOC"."HTMLOUTPUT" (
    "DOCID" IN NUMBER) IS
    mklob clob;
    doccount number;
    errorcode number;
    errormessage varchar2(200);
    BEGIN -- executable part starts here
    SELECT COUNT(document_id) INTO doccount FROM docviewhtml where document_id=docid;
    --dbms_output.put_line(doccount);
    if doccount=0 then
         dbms_output.put_line('Document Not Found: Converting '||docid);
         --If document is not found run document coversion routine
         ctx_doc.filter('idxdocuments',docid, mklob,FALSE);
         INSERT INTO docviewhtml(document_id, html) VALUES (docid, mklob);
         COMMIT;
    elsif doccount=1 then
         --return;
         dbms_output.put_line('Document Found');
         --if document id found then return the document content
         null;
    else
         --dbms_output.put_line('Error occured');
         --need to deal with duplicate documents
         null;
    end if;
    dbms_lob.freetemporary(mklob);
    EXCEPTION
    --rollback when an exception occurs
         WHEN OTHERS THEN
              errorcode:=SQLCODE;
              errormessage:=SQLERRM;     
              dbms_output.put_line(sqlcode || ':' ||sqlerrm);
              ROLLBACK;
              LOGERROR(errorcode,errormessage);
    END "HTMLOUTPUT";
    i get the error when i convert large documents
    "ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified: ORA-22275"
    what is wrong. please help!

    "ORA-06502: PL/SQL: numeric or value error: invalid
    LOB locator specified: ORA-22275"
    PROCEDURE "STARDOC"."HTMLOUTPUT" (
    "DOCID" IN NUMBER) IS
    mklob clob;
         ctx_doc.filter('idxdocuments',docid, mklob,FALSE);
    INSERT INTO docviewhtml(document_id, html) VALUES (docid, mklob);I think You forget to initialize variable mklob.
    You can do it, assigning the empty_clob().

  • Error: ORA-01722: invalid number performing List of Values query.

    when i created a cascading select list, For the first time it worked properly then little later
    it is giving this error.
    Error: ORA-01722: invalid number performing List of Values query: "select distinct cl_name d, cl_no r from Kclient where gr_no = :P1_GRNO order by 1
    could any one please solve the problem?
    2. when i run the application. in all the items edit button is automatically seen
    including in the login screen.
    could any one identify what is the error and give me a solution.

    Is this better?
    select DISTINCT FIRST_NAME||' '||LAST_NAME display_value
          , ROW_ID return_value
      from "PSA_RESOURCE_MANAGER"
    where PSA_RESOURCE_MANAGER.ACTIVE_FLAG='Y'
       AND :P117_REPORTING_MANAGER = PSA_RESOURCE_MANAGER.REPORTING_MANAGER
       AND :P117_REPORTING_MANAGER <> -1 order by 1or
    select DISTINCT FIRST_NAME||' '||LAST_NAME display_value
          , ROW_ID return_value
      from "PSA_RESOURCE_MANAGER"
    where PSA_RESOURCE_MANAGER.ACTIVE_FLAG='Y'
       AND :P117_REPORTING_MANAGER = PSA_RESOURCE_MANAGER.REPORTING_MANAGER
       AND :P117_REPORTING_MANAGER != '-1' order by 1Is ROW_ID a column in your table by the way? If not, you should use ROWID (without the underscore)

  • IR: ORA-20001: get_dbms_sql_cursor error ORA-00904: : invalid identifier

    Hi everyone,
    has anyone else had this error which has been driving me round the bend during the last three days?
    I have an interactive report which used to work fine.
    Now it happens (when the page loads/a filter is en- or disabled) that - from time to time, but unpredictable - I receive
    ORA-20001: get_dbms_sql_cursor error ORA-00904: : invalid identifier
    The report is based on a table function.
    I will try to set up a testcase and post the link here, but so far I haven't managed to force the error to occur.
    But maybe someone else has already bumped into this kind of error? I would be grateful for any hints!
    Best regards,
    Sabine
    Application Express 4.1.0.00.32
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

    Hi Jari,
    I changed the type definition (the return type of the table function) and extended the select list in the source of the IR.
    I do not use 'select *' but reference every column explicitly. So APEX easked me whether to add the new column.
    I also tried deleting in recreating the region, but no luck.
    Any more ideas?
    Best regards,
    Sabine

Maybe you are looking for

  • How do I set up multiple users on itunes.

    My two kids have my old phones and I want to set up apps and music for them and keep separate from mine...they are too young to have their own itunes account. Can anyone point me in the right direction

  • Inter-Company STO configuration steps needed in detail !!

    Hi My Client is using SAP-AFS (IS) ECC 6.00. Client wants an Inter-company STO to be done with full fledged Deliveries configured. 1. I am facing problem while my Replieshment delivery unable to pick the Quantity for Post Goods   Issue. (PGI). How do

  • Itunes 11 autostart without user access....and other dirty deeds....

    It *****, iTunes 11.1.2 always autostarts and plays music after a while. killall iTunes helps. For about 5 minutes or so. Magic Trackpad stops. Mouse pointer hangs. The only way is to disconnecting and reconnecting the Pad. I think there are Bluetoot

  • HP Pavilion Elite m9515y PC randomly crashes

    Hi, I have an m9515y that will run fine for a few hours and then crash. It will do one of two things: 1. Blue screen (memory dump) 2. It will stop outputting signal to the monitor, it will not respond to any mouse or keyboard inputs, the WiFi light w

  • Character reference in Apache xml serializer

    Hi, I am having some issues with XML serializer while having control characters in the String. The control characters are getting converted to character reference in apache XML serializer. Could anyone help me to disable the control characters gettin