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:
Error | Error 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
-
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.
I'm trying to update venue_prsntd_qtr. I commented all the rest to see if I can limit the error is coming from.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;
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
MaryHi, 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
-
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.
-
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
-
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);
-
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?
- FUNCTION get_osuser RETURN VARCHAR2; Use sys_context ('USERENV', 'OS_USER')
- FUNCTION get_dbuser RETURN VARCHAR2; Use sys_context ('USERENV', 'SESSION_USER')
- FUNCTION get_client_info RETURN VARCHAR2; Use sys_context ('USERENV', 'CLIENT_INFO')
- FUNCTION get_module_info RETURN VARCHAR2; Use sys_context ('USERENV', 'MODULE')
- 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 meSee 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 16V_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
SriCan 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 THENdbms_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
-
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
-
Brand new T440s with BIOS password
Hello I have a big problem. I bought online a new T440s I opened the box for the first time myself. When I go into the BIOS it asks for password and I just hit enter without entering a password. I can get into BIOS but I can't change any settings. Wh
-
filtering/interpolation or smoothing a 3D Board
Hello I have attached a VI whereby it accepts a text file with 3 columns of data. An example of text file is attached. I was able to draw the waveform of 3 plots, but I would like to make a few high-pass filtering before posting. If I want a 2nd orde
-
Office 600 Jet model series does not print. I think that my driver is out of the I want to know where I can go to find the driver to run this device?
-
Hi all Just to be safe, I think to buy a new smartphone without NFC feature... (HONOR 7) Is it mandatory to have NFC to pair / connect / SWR50 synchronization to a smartphone or is it possible to simply connect with bluetooth / wifi? Otherwise, I'll
-
Can I install Windows Vista Business x 64 with a product key fom x 86 version?
I have a x 86 version of Vista, I can install the x 64 version with the product key for the x 86 version?