Error processing request. ORA-06502: PL/SQL: digital error or value OK

Hello

I want to open a session in an APEX application using the IE 8 browser, but I can't because this error:

https://naa-vm02.us.oracle.com:7510/i/error.gifErrorError processing request.
ORA-06502: PL/SQL: digital error or value
Ok

I can run this app with Chrome or Mozilla, but I need to open it with IE.

Can you please tell me how should I solve this problem?

Thank you

It is a problem with your version of APEX that you use... There was a patch released about 6 months ago... or you can just upgrade to the latest version. I also had this problem, and there are several similar topics in this forum about the exact problem and at least the a precise details on the patch/fix.

Tags: Database

Similar Questions

  • Process apex Pl/SQL error: ORA-06502: PL/SQL: digital error or value: specified incorrect LOB Locator

    Apex 4.2

    I searched through the forums of the research about this error, but I do not understand what to do from here. I am writing a process that sends an e-mail when a value of the claim is made (or on a button click). Procedure is as follows:

    DECLARE
       l_body        clob;
       l_body_html   clob;
       l_subject    varchar2(100);
    
    BEGIN
      
    l_body := empty_clob();
    l_body_html := empty_clob();
    
    
    IF V('REQUEST') in ('SAVE_ME') AND :P32_PARENT_UPDATED_FL IS NOT NULL THEN
       l_subject :=  'Survey Job Request Updated'||utl_tcp.crlf||utl_tcp.crlf;
       l_body := 'Update'||utl_tcp.crlf;
    
       l_body_html := '<html>
          <head>
             <style type = "text/css">
                 /* Can add style attributes later */
             </style>
          </head>
          <body>'||utl_tcp.crlf;
       l_body_html := l_body_html ||'Survey Job Request has been updated.<br /><br />'||utl_tcp.crlf;
       l_body_html := l_body_html ||'Title: '||utl_tcp.crlf;
       l_body_html := l_body_html ||:P32_TITLE||utl_tcp.crlf;
       l_body_html := l_body_html ||'<br />Request Category : '||utl_tcp.crlf;
       l_body_html := l_body_html ||:P32_REQUEST_CATEGORY||utl_tcp.crlf;
       l_body_html := l_body_html ||'<br />Update Date: '||utl_tcp.crlf;
       l_body_html := l_body_html ||:P32_UPDATE_DATE||utl_tcp.crlf;
       l_body_html := l_body_html ||'<br />Updated By: '||utl_tcp.crlf;
       l_body_html := l_body_html ||:P32_LAST_EDITED_BY_USERID||utl_tcp.crlf;
       l_body_html := l_body_html ||'</body></html>';
    
    
    
    
    
    END IF;
    
    :P32_CANCELLATION_REASON := l_body_html;
    
    apex_mail.send(
       p_to             =>  '[email protected]',
       p_from           =>  '[email protected]',
       p_body           =>  l_body_html,
       p_body_html      =>  l_body_html,
       p_subj           =>  l_subject);
    
    END;
    
    
    
    
    
    
    
    
    
    

    I added two lines to the code (lines 08 and 09) and when I run my program, I now get the error:

    • ORA-21560: 3 argument is null, invalid or out of range

    Without these two lines, I received the error:

    ORA-06502: PL/SQL: digital error or value: specified incorrect LOB Locator

    I'm not quite sure what is wrong or what I can change. There seems to be right, and in fact, it worked before. I have no idea why this error keeps popping up. Any help on that would be great. Thanks in advance.

    Hello

    NewApexCoder wrote:

    Hmmm... good point. I think that apex_mail.send must be called inside the IF block. But in the future, I added several conditional statements, won't I need to include the apex_mail.send function in each IF block? But at the same time, there is the case that if no conditional instructions are met? Tests, when none of the conditions are true (when I had a second IF block in the code), an email would not be defined, which is correct. Could that be causing a problem however. If the IF block is not filled could he always try to send an email about anything or the l_body_html and l_subject fields have in them the garbage that causing ORA error?

    If the call to the procedure of sending (it is a procedure, and not a function) many times is necessary or useful depends on exactly what you're trying to do.

    For example, you can write to Santa for

    • Submit a wish list
    • Change of address
    • Contradiction with your boss, who can you tell Santa you were mean

    or any combination of these grounds.  If you want to send a simple email whenever any of the conditions are met (and not send a when none are met), then you could do something like this:

    DECLARE

    need_to_send BOOLEAN: = FALSE;

    ...

    BEGIN

    ...

    IF wish_list IS NOT NULL

    THEN

    l_body: = l_body | ...

    need_to_send: = TRUE;

    END IF;

    IF old_addresss <> new_address

    THEN

    l_body: = l_body | ...

    need_to_send: = TRUE;

    END IF;

    IF boss_is_a_big_fat_liar

    THEN

    l_body: = l_body | ...

    need_to_send: = TRUE;

    END IF;

    IF need_to_send

    SO - It's the only call to send

    apex_mail. Send...

    In any case, the error message ' ORA-21560: argument 3 sucks...» "is pretty clear: If you have not given a value to everything you're passing as p_body, then you'd better call the procedure.

  • ORA-06502: PL/SQL: digital error: error in the conversion of char to number

    Hello world.

    I have a strange problem here. I'll try to explain better. I work with APEX 4.2 and of Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production.

    Here are my parameters NLS_SESSION_PARAMETER and NLS_DATABASE_PARAMETER: NLS_NUMERIC_CHARACTERS,.


    I have a table with a lot of body numbers, and when I imported a MS Access application data, all fields were imported with the comma as decimal separator.


    Now, I have a form with several fields of number and when I leave a numeric field, a body of numbers of amount total is calculated and automatically filled with a bit of javascript.


    Now the problem: calculating fields (sum) succeeds only when I use the decimal as the delimiter. If I use the comma, I get a NaN value in the total amount field. I managed to convert all commas in points with javascript, so the total amount is calculated.

    When I try to save the record, I get the error: ORA-06502: PL/SQL: digital error: error in the conversion of char to number because I'm trying to save the separator point in my number fields.


    I tried to use REPLACE function to replace the. by one, before winning but does not solve the problem.


    This sounds familiar to anyone?


    Thanks in advance.



    OK, the problem is solved people.

    Somehow, the registration procedure had an influence on another calculation of my form and the error came from this process. So I put a to_number and replace stated in the calculation and all records very well and it shows my total.

  • ORA-06502: PL/SQL: digital or value error: character of error number

    Hello gurus,

    I get the following error:
    ORA-06502: PL/SQL: digital or value error: character of number conversion error

    It happens on wizard generated in a table.
    DECLARE
    v_venue_prsntd_qtr varchar2(3);
    v_venue_prsntd_fy  number;
    
    BEGIN
    FOR i IN 1 .. apex_application.g_f02.COUNT
      LOOP
        IF apex_application.g_f05 (i) IS NOT NULL THEN 
            v_venue_prsntd_qtr := 
             Case WHEN TO_CHAR(apex_application.g_f05 (i), 'MON') IN ('OCT','NOV','DEC') THEN '1'
                  WHEN TO_CHAR(apex_application.g_f05 (i), 'MON') IN ('JAN','FEB','MAR') THEN '2'
                  WHEN TO_CHAR(apex_application.g_f05 (i), 'MON') IN ('APR','MAY','JUN') THEN '3'
                  ELSE '4'
                  END;
      -- INTO v_venue_prsntd_qtr
      -- FROM venue_prsntd
      -- WHERE venue_prsntd_seqno = apex_application.g_f02 (i) 
      -- AND dfcy_seqno = apex_application.g_f03 (i)
      -- AND apex_application.g_f05 (i) IS NOT NULL; 
    ----fiscal year
     --    v_venue_prsntd_fy := 
     --       CASE WHEN TO_CHAR(TO_NUMBER(TO_CHAR(apex_application.g_f05(i), 'MMDD'))) < 1001 THEN --------TO_CHAR(apex_application.g_f05 (i),'YYYY')
    --        ELSE TO_CHAR(TO_NUMBER(TO_CHAR(apex_application.g_f05 (i),'YYYY')) + 1) 
    --      END;
    
       --  INTO v_venue_prsntd_fy
       --  FROM venue_prsntd
       --  WHERE venue_prsntd_seqno = apex_application.g_f02 (i) 
       --  AND dfcy_seqno = apex_application.g_f03 (i) 
       --  AND apex_application.g_f05 (i) IS NOT NULL; 
       --  
    ---END IF;
      --- IF apex_application.g_f02 (i) IS NULL AND apex_application.g_f05 (i) IS NOT NULL Then 
              -- INSERT INTO venue_prsntd(venue_prsntd_qtr, venue_prsntd_fy)
              --                   VALUES(v_venue_prsntd_qtr, v_venue_prsntd_fy);
                 UPDATE VENUE_PRSNTD
                      SET VENUE_PRSNTD_QTR = to_number(v_venue_prsntd_qtr)
                         -- VENUE_PRSNTD_FY = v_venue_prsntd_fy
                 WHERE VENUE_PRSNTD_SEQNO = APEX_APPLICATION.G_F03(i);
    END IF;
    END LOOP;
    END;
    I'm trying to update venue_prsntd_qtr. I commented all the rest to see if I can limit the error is coming from.

    QTR is a numeric field in the database. I have gone back and forth with the variable type in the code and still get the same error.

    I use oracle db 10g, apex 3.2.1

    Thank you
    Mary

    Hi, I don't think it's possible to integrate with the routine auto mru. What you can do is to use a trigger to insert database after the cessation of the to do.

    Otherwise, you will still need a separate process Apex which runs after the SRM process.

    Luis

  • While the BLOB conversion of type CLOB error - ORA-06502: PL/SQL: digital error or value

    Passing data from attachment of DB (Blob data Type) after the CLOB data type conversion, giving the error "ORA-06502: PL/SQL: digital error or value" in the PL/SQL package. If the BLOB size 32K > it will give another error works great my procedure.

    For example, I enclose my code here.

    function get_base64 (p_blob_in in blob) return clob is

    CLOB v_clob;

    CLOB v_result;

    whole v_offset;

    v_chunk_size PLS_INTEGER: = 12288;

    v_buffer_varchar varchar2 (32767).

    v_buffer_raw raw (32767).

    Start

    fnd_file.put_line (fnd_file.log, 'here');

    If p_blob_in is null then

    Returns a null value.

    end if;

    DBMS_LOB.CREATETEMPORARY (v_clob, true);

    fnd_file.put_line (fnd_file.log, 'here1');

    v_offset: = 1;

    fnd_file.put_line (fnd_file.log, 'Loop value'-| ceil (DBMS_LOB.) GetLength (p_blob_in) / v_chunk_size));

    because me in 1... ceil (DBMS_LOB. GetLength (p_blob_in) / v_chunk_size) loop

    DBMS_LOB. Read (p_blob_in, v_chunk_size, v_offset, v_buffer_raw);

    v_buffer_raw: = utl_encode.base64_encode (v_buffer_raw);

    v_buffer_varchar: = utl_raw.cast_to_varchar2 (v_buffer_raw);

    DBMS_LOB. WriteAppend (v_clob, length (v_buffer_varchar), v_buffer_varchar);

    v_offset: = v_offset + v_chunk_size;

    end loop;

    fnd_file.put_line (fnd_file.log, 'Out of the loop');

    v_result: = v_clob;

    fnd_file.put_line (fnd_file.log, 'V_result length' - |) DBMS_LOB. GetLength (v_result));

    fnd_file.put_line (fnd_file.log, 'V_result' - | v_result);

    DBMS_LOB.freeTemporary (v_clob);

    Return v_result;

    exception

    while others then

    fnd_file.put_line (fnd_file.log, 'Error based on the encode_base64' - |) SQLERRM);

    Returns a null value.

    end;

    In my main program I call this function as below:

    Main proceedings...

    l_return_clob CLOB.

    Begin

    ....

    l_return_clob: = get_base64 (p_blob_in);

    -In returning it gives error - ORA-06502: PL/SQL: digital error or value

    end;

    Then, please mark the thread ANSWERED.

  • ORA-06502: PL/SQL: digital error or the value in the conversion for a long TIME on the CLOB type

    Hello

    I have an EA of RDBMS Oracle 11.2.0.4.

    I ger the following error when I try to convert a data type LONG to type CLOB data thanks to a PL/SQL procedure:

    declare
    v_prefix varchar2 (20): = null;
    v_text_view_clob clob: = null;
    long v_text_view_long: = null;

    cursor c_v
    is
    Select
    a.view_name as view_name
    Of
    USER_VIEWS one;

    Start
    for r_v in c_v
    loop
    Start
    v_text_view_clob: = null;
    v_text_view_long: = null;

    -Do the SQL code of the view
    Select
    a.Text text
    in
    v_text_view_long
    Of
    USER_VIEWS one
    where
    a.view_name = r_v.view_name;

    v_text_view_clob: = v_text_view_long;

    update of ohibo_views one
    set
    a.view_text = v_text_view_clob
    where
    a.view_name = r_v.view_name;
    exception
    while others then
    dbms_output.put_line ('View =' | r_v.view_name |) "kan niet worden geconverteerd!");
    dbms_output.put_line (substr (sqlerrm, 1, 60));
    end;
    end loop;
    -commit;
    exception
    while others then
    lift;
    end;
    /

    I get the error a specific record:

    View = VER_POLISMUTATIES_VW kan niet worden geconverteerd!

    ORA-06502: PL/SQL: digital error or value

    At looked the origina; Value of type LONG and it is indeed a "long" piece of text.

    However, CLOB has a restriction about 4G * db_block_size and LONG 2 G - 1 according to the documentation.

    I should be able with the method above to convert a LONG in CLOB.

    Anyone had a similar situation?

    Thanks in advance for advice how to solve.

    Kind regards

    PS: my apologies, I didn't know which group to post this discussion: database or PL/SQL.

    Good indeed, a link with the right explanation.

    I didn't know that there was such a function.

    Thank you!

    Kind regards

  • ORA-06502: PL/SQL: digital or value error: character string buffer too small in the functions

    Hi all

    FUNCTION to CREATE or REPLACE fnc_two (p_in_job IN VARCHAR2)

    RETURN VARCHAR2

    AS

    CUR CURSOR

    IS

    SELECT ename

    WCP

    WHERE job = p_in_job;

    v_first_name emp.ename%TYPE;

    BEGIN

    FOR my heart IN rec

    LOOP

    IF v_first_name IS NULL

    THEN

    v_first_name: = rec.ename;

    ON THE OTHER

    v_first_name: = v_first_name | ',' || Rec.Ename;

    END IF;

    END LOOP;

    RETURN v_first_name;

    END;

    SQL > SELECT fnc_two ('CLERK')

    2 FROM dual;

    SELECT fnc_two ('CLERK')

    *

    ERROR on line 1:

    ORA-06502: PL/SQL: digital or value error: character string buffer too small

    ORA-06512: at the 'APPS '. FNC_TWO', line 17

    SQL > select distinct work of emp

    2.

    JOB

    ---------

    CLERK

    SELLER

    PRESIDENT

    MANAGER

    ANALYST

    v_first_name: = v_first_name | ',' || Rec.Ename;

    The above statement is the original error. The value has been assinged to v_first_name is larger than the computer can handle.

    Increase the size of the variable v_first_name to avoid the error example

    v_first_name varchar2 (100);

  • Text editor enriched ORA-06502: PL/SQL: digital or value error: character string buffer too small

    Hello

    I have apex user 4.2.3 with enterprise database edition 11, I page include RICH TEXT EDITOR, when I add data to this text and save it will record successfully and when I try to view this information in another page I see all the data, as expected, the problem when I try to go to the same page as RICH TEXT EDITOR error message apper ORA-06502 : PL/SQL: digital or value error: buffer string too small, I see this link https://forums.oracle.com/thread/2461151?tstart=0 but I don't know how it solve it, the problem is made data at the point of the rich text editor.


    Any suggestion?


    Thank you

    Thanks for the reply,

    Its standard form with text rich field, my question she same as link above I added before

  • ORA-06502: PL/SQL: digital error or value

    Hello

    We have a package with a cursor that returns the session information:

    create or replace 
    PACKAGE BODY             "LOGIN_AUDIT" 
    ...
    ...
      CURSOR session_cur IS
        SELECT * FROM v$session WHERE audsid=USERENV('sessionid');
    
     session_rec session_cur%ROWTYPE;
    
    ...
    
    FUNCTION get_osuser
        RETURN VARCHAR2
      IS
      BEGIN
        RETURN session_rec.osuser;
      END;
    
    FUNCTION get_dbuser
        RETURN VARCHAR2
      IS
      BEGIN
        RETURN NVL(session_rec.username, 'ORACLE_SYS');
      END;
    
    ...
    

    The package compiled successfully and works ok out for a function that is the get_osuser. When you launch sqlplus, we get the following error:

    Select double LOGIN_audit.get_osuser;

    *

    ERROR on line 1:

    ORA-06502: PL/SQL: digital error or value

    ORA-06512: at "APPUSR. LOGIN_AUDIT', line 94

    ORA-06512: at "APPUSR. LOGIN_AUDIT', line 102

    The APPUSR has select priv on V$ SESSION and a select * from v$ session returns the session information. We can perform any other function since the package without any problem, for example:

    APPUSR@APPD > select double login_audit.get_dbuser;

    GET_DBUSER

    -------------------------------------------------------------

    APPUSR

    Can someone help us work on what happens please.

    PS Oracle: 11.2.0.3, OS Windows 2008 server.

    Thank you

    Really I have not aside, this and raise the question?

    Why you write all this code?

    wouldn't the following very good enough?

    1. FUNCTION get_osuser RETURN VARCHAR2;                    Use sys_context ('USERENV', 'OS_USER')
    2. FUNCTION get_dbuser RETURN VARCHAR2;                    Use sys_context ('USERENV', 'SESSION_USER')
    3. FUNCTION get_client_info RETURN VARCHAR2;                   Use sys_context ('USERENV', 'CLIENT_INFO')
    4. FUNCTION get_module_info RETURN VARCHAR2;               Use sys_context ('USERENV', 'MODULE')
    5. FUNCTION get_action_info RETURN VARCHAR2;                  Use sys_context ('USERENV', 'ACTION')

    Just do not know, I see the advantage of messing around with this slider and have to fight with the updating of information and others.

    This would totally work around the error you get and probably accelerate - and make it easier to maintain.

    ??

    Unless there is some additional requirements, that I'm missing

  • ORA-06502: PL/SQL: digital or value error: character string buffer too smal

    Hi experts,


    Please check my query

    DECLARE
    f utl_file.file_type;
    s NVARCHAR2 (32000);
    VARCHAR2 (10) F1;
    F2 char (1);
    F3 VARCHAR2 (100);
    F4 VARCHAR2 (100);
    F5 VARCHAR2 (100);
    F6 DATE;
    F7 DATE;
    F8 DATE;
    F9 DATE;
    F10 DATE;
    F11 char (1);
    BEGIN
    DBMS_OUTPUT. ENABLE (100000);
    f: = utl_file.fopen ('MID5010_DOC1TP', 'OPT_CM_BASE.txt', 'R');

    LOOP
    BEGIN
    UTL_FILE. GET_LINE (f, s);

    F1: = REGEXP_SUBSTR (s, "[^ |]") +', 1, 1);
    F2: = REGEXP_SUBSTR (s, "[^ |]") +', 1, 2);
    F3: = REGEXP_SUBSTR (S, "[^ |]") +', 1, 3);
    F4: = REGEXP_SUBSTR (S, "[^ |]") +', 1, 4);
    F5: = REGEXP_SUBSTR (S, "[^ |]") +', 1, 5);
    F6: = REGEXP_SUBSTR (S, "[^ |]") +', 1, 6);
    F7: = REGEXP_SUBSTR (S, "[^ |]") +', 1, 7);
    F8: = REGEXP_SUBSTR (S, "[^ |]") +', 1, 8);
    F9: = REGEXP_SUBSTR (S, "[^ |]") +', 1, 9);
    F10: = REGEXP_SUBSTR (S, "[^ |]") +' 1, 10);
    F11: = REGEXP_SUBSTR (s, "[^ |]") +', 1.11);

    insert into OPTUM_ICD10CM_BASE
    (OF THE CODE
    STATUS,
    SHORT_DESCRIPTION,
    LONG_DESCRIPTION,
    FULL_DESCRIPTION,
    CODE_EFFECTIVE_DATE,
    CHANGE_EFFECTIVE_DATE,
    TERMINATION_DATE,
    RELEASE_DATE,
    CREATION_DATE,
    VALIDITY)
    VALUES (F1,
    F2,
    F3,
    F4,
    F5,
    F6,
    F7,
    F8,
    F9,
    F10,
    F11);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    EXIT;
    END;
    END LOOP;

    UTL_FILE. FCLOSE (F);
    END;
    ------------

    and format text as below


    A50.0 | Short | Long | Full | 01/01/2009 | / 01/2009 | 01/01/2013. 18/09/2012 | C |
    A50.1 | Short | Long | Full | 01/01/2009 | 01/01/2009 | 001-2013 | 18/09/2012 | C |
    A50.2 | Short | Long | Full|01-01-2009|01-01-2009|67|01-01-2013|09-18-2012| C |
    A50.3 | Short | Long | Full | 011-2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A50.4 | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | 5.
    A50.5 | R | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A50.6 | Short | Long | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A50.7 | Short | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    2345. Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.0 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.1 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.2 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.3 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.4 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.5 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.6 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.7 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.8 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A60.9 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A70.0 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A70.1 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A70.2 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A70.3 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A70.4 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    B222 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.1 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.2. N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.3 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.4 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.5 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.6 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.7 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.8 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A4.9 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A5.0 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A5.1. N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A5.2. B: Short | Long | Full|01-01-2009|01-01-2009|01-10-2013|01-01-2013|09-18-2012| C |
    A5.3 | B: Short | Long | Full|01-01-2009|01-01-2009|01-10-2013|01-01-2013|09-18-2012| C |
    D642 | B: Short | Long | Full|01-01-2009|01-01-2009|01-10-2013|01-01-2013|09-18-2012| C |
    A5.5 | B: Short | Long | Full|01-01-2009|01-01-2009|01-10-2013|01-01-2013|09-18-2012| C |
    A5.6 | B: Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A5.7 | C | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A001 | C | Short update | Long update | Full update | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A009 | C | Short update | Long update | Full update | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A5.10. C | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A0109 | C | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    F10.0 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    F10.1 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    F10.2 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    F10.3 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    F10.4 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    F10.5 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    F10.6 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    F10.7 | N | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A30 | C | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A316 | C | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |
    A317 | C | Short | Long | Full | 01/01/2009 | 01/01/2009 | 01/01/2013. 18/09/2012 | C |


    but I make an error such as ORA-06502: PL/SQL: digital or value error: character string buffer too small

    Please help me

    See now, you really have to think carefully, the code of operation step by step. Then you could help you.

    I told you to use a when others share to block emergency inside the LOOP and you that has changed in the external main block! Why?

    Simply change and recheck.

  • UTL_SMTP. Data ORA-06502: PL/SQL: digital error or value

    Hello

    I use utl_smtp to send an HTML email, I'm passing in a clob to utl_smtp.data (), works very well for some emails small relativley is no bigger nut, which return the following error

    ORA-06502: PL/SQL: digital error or value

    Does anyone know what the limitation is the size if the parameter of body to utl_smtp.data (), and is there another way to send large mails?

    Thank you...

    refer to this

    http://www.Oracle-base.com/articles/Misc/email-from-Oracle-plsql.php

    http://asktom.Oracle.com/pls/asktom/f?p=100:11:3366784949717501:P11_QUESTION_ID:1739411218448

  • ORA-06502: PL/SQL: digital error or value: number too high accuracy

    Hi all
    Sorry I can't speak English very well
    ========
    IM creating a function in the hr schema
    I need to calculate a tax
    syntax of the function is

    CREATE OR REPLACE THE TAX FUNCTION
    (F_TAX EMPLOYEES % OF SALARY TYPE)
    RETURN NUMBER IS
    V_SAL EMPLOYEES. % SALARY TYPE.

    BEGIN
    SELECT salary * 12
    IN v_sal
    Employees
    WHERE EMPLOYEE_ID = F_TAX;
    IF V_SAL > = 40000 THEN
    V_SAL: = V_SAL / 0,20;
    ELSIF V_SAL > = 30000 THEN
    V_SAL: = V_SAL / 0.15;
    END IF;
    RETURN V_SAL;
    TAX END;
    ==================
    When I select a tax I have this problem
    SELECT (EMPLOYEE_ID) TAX
    EMPLOYEES

    It comes
    SELECT (EMPLOYEE_ID) TAX
    *
    ERROR on line 1:
    ORA-06502: PL/SQL: digital error or value: number too high accuracy
    ORA-06512: at "HR. The TAX", line 16

    V_SAL is declared as HR. EMPLOYEES. % OF SALARY TYPE. If you look at the definition of time. The table EMPLOYEES, the SALARY column is a NUMBER (8,2). This means that it can handle numbers up to $999,999.99 (8 total digits with 2 decimal places).

    Your IF statement is dividing the salary by 0.20, which is equivalent to multiplying by 5 or dividing by 0.15, which is multiplied by 6.67. In reality, at least a salary is high enough now that when you multiply by 5 or 6.67 it exceeds the limit of $999,999.99 (especially when you already multiplied by 12 SALARY column in your SELECT statement).

    -If your intention is to return in numbers that exceed the limits of the SALARY column in human resources. EMPLOYEES, you will need to declare V_SAL differently. You can declare V_SAL as a NUMBER (11.2), for example, given that any number that you store in a NUMBER (8.2), multiplied by 60, which can be represented in a NUMBER (11.2).
    -If your intention is to return the numbers that fall within the limits of the SALARY column in human resources. USED, I suspect that the algorithm that you implemented is incorrect. Perhaps, for example, you would divide by 1.2 or 1.15 as a kind of tax accounting?

    Justin

  • Question by adding the LOBs-ORA-06502: PL/SQL: digital error or value

    Hello

    I'm using Oracle 11 g.

    I have a requirement in which I need to add LOBs and I must insert the LOB in a table column. I am facing problem when the data exceeds certain limits. My program works like the following:

    (Please note that my program logic is given below, not the exact program)

    DECLARE

    final_html CLOB.
    int_html CLOB.
    v_str VARCHAR2 (32767).

    i the number: = 0;

    BEGIN


    DBMS_LOB.CREATETEMPORARY (lob_loc = > int_html, CACHE = > TRUE, hard = > dbms_lob.) CALL);
    DBMS_LOB.CREATETEMPORARY (lob_loc = > final_html, CACHE = > TRUE, hard = > dbms_lob.) CALL);
    DBMS_LOB. OPEN (int_html, DBMS_LOB. LOB_READWRITE);
    DBMS_LOB. OPEN (final_html, DBMS_LOB. LOB_READWRITE);
    dbms_output. ENABLE (1000000);


    FOR i 1,100 loop

    v_str: = "< b >" |
    "< style td =" "DRESSING: break-word" width = "50" > < font size = "2" > ' | "
    I have | ' < / police > < table > ' |
    "< /tr >";

    DBMS_LOB. WriteAppend (lob_loc = > int_html, amount = > LENGTH (v_str), BUFFER = > v_str);


    END LOOP;
    dbms_output.put_line (' the length of the int_html is :'||) DBMS_LOB. GetLength (int_html));

    dbms_output.put_line (' the int_html :'|| is int_html).

    final_html: = "< html >" | int_html | "< / html > ';
    dbms_output.put_line (' the final_html :'|| is final_html).



    EXCEPTION
    WHILE OTHERS THEN


    dbms_output.put_line(SQLCODE||) e -'|| SQLERRM);
    DBMS_LOB. CLOSE (int_html);
    DBMS_LOB. CLOSE (final_html);
    DBMS_LOB. FREETEMPORARY (int_html);
    DBMS_LOB. FREETEMPORARY (final_html);

    END;


    When the loop is made of lesser value, say FOR example, the loop i IN 1.10, the program works very well, but when the closure is done for values more I'm ' - 6502-ORA-06502: PL/SQL: digital error or value ' error message.

    Please help me solve this problem.

    Thanking you in advance.


    Kind regards
    Sri

    Can you please specify what environment you run this?

    I modified your code as follows

    The code executed successfully until the length has been<= 32767="" i.e="" (="" until="" for="" i="" in="">

    In addition, you must use the function APPEND to concatenate variables clob.

    Please check the maximum size by default for varchar2 or dbms_output in your server since you get the error for just the loop in the range (FOR i IN 1,100).

    And Yes, Siva comments are valid.

    DECLARE

    final_html CLOB.
    int_html CLOB.
    v_str VARCHAR2 (32767).

    i the number: = 0;

    BEGIN

    DBMS_LOB.CREATETEMPORARY (lob_loc-online int_html, CACHE-online TRUE, hard-online dbms_lob. CALL);
    DBMS_LOB.CREATETEMPORARY (lob_loc-online final_html, CACHE-online TRUE, hard-online dbms_lob. CALL);
    DBMS_LOB. OPEN (int_html, DBMS_LOB. LOB_READWRITE);
    DBMS_LOB. OPEN (final_html, DBMS_LOB. LOB_READWRITE);
    dbms_output. ENABLE (1000000);

    FOR i 1.1092 loop

    v_str: = '' ||
    '' ||
    I have | '' ||
    '';

    DBMS_LOB. WriteAppend (lob_loc-int_html, amount => (v_str), BUFFER LENGTH-online v_str online);

    END LOOP;

    dbms_output.put_line (' the length of the int_html is :'||) DBMS_LOB. GetLength (int_html));
    Start
    dbms_output.put_line (' the int_html :'|| is int_html).
    dbms_output.put_line (' the length of the int_html is :'||) DBMS_LOB. GetLength (int_html));
    exception when others then
    dbms_output.put_line(SQLCODE||) e -'|| SQLERRM);
    end;
    /*
    Start
    final_html: = ''|| int_html | »';
    dbms_output.put_line (' the final_html :'|| is final_html).
    exception when others then
    dbms_output.put_line(SQLCODE||) e -'|| SQLERRM);
    end; */

    EXCEPTION
    WHILE OTHERS THEN

    dbms_output.put_line(SQLCODE||) e -'|| SQLERRM);
    DBMS_LOB. CLOSE (int_html);
    DBMS_LOB. CLOSE (final_html);
    DBMS_LOB. FREETEMPORARY (int_html);
    DBMS_LOB. FREETEMPORARY (final_html);

    END;

    Published by: Gurnani houta July 29, 2011 03:11

    Published by: Gurnani houta July 29, 2011 03:14

  • ORA-06502: PL/SQL: digital error or value: the value of key NULL index table?

    Hello

    Can someone let me know what is the problem the code below and how can we avoid this? I get the error message as below

    ORA-06502: PL/SQL: digital or value error: NULL index key value table

                        v_while_loop := 1;
                        v_delete_char_id := v_tabtype_result_values.FIRST;
                        WHILE v_while_loop <> v_tabtype_result_values.COUNT 
                        LOOP
                            IF check_duplicate_nc_data (v_result_view, 
                                                        v_tabtype_result_values(v_delete_char_id).value,
                                                        v_collection_id,
                                                        v_occurrence,
                                                        v_plan_id,
                                                        v_delete_char_id
                                                        )
                            THEN
                                DBMS_OUTPUT.PUT_LINE(v_delete_char_id);
                                v_tabtype_result_values.DELETE(v_delete_char_id);
                            ELSE
                                DBMS_OUTPUT.PUT_LINE(v_delete_char_id||','||v_tabtype_result_values(v_delete_char_id).id||','
                                                        ||v_tabtype_result_values(v_delete_char_id).value||','
                                                        ||v_tabtype_result_values(v_delete_char_id).validation_flag
                                                        );
                            END IF;
    
                            v_while_loop := v_while_loop + 1;
                            v_delete_char_id := v_tabtype_result_values.NEXT(v_delete_char_id);
                        END LOOP;

    Change:

    WHILE v_while_loop <> v_tabtype_result_values.COUNT 
    

    TO

    WHILE v_while_loop <= v_tabtype_result_values.LAST
    

    SY.

  • ORA-06502: PL/SQL: digital or value error: character string too small buffer

    Dear gurus, I'm generation mail format html from oracle 10 g database.

    Display the data in html format message body are superior to more than 32 k.

    can you please guide me how to handle this error?

    ORA-06502: PL/SQL: digital or value error: character string too small buffer


    I use the long data type for message body data.

    http://asktom.Oracle.com/pls/asktom/f?p=100:11:4325516854017254:P11_QUESTION_ID:1739411218448

    see you soon

Maybe you are looking for