2017-05-04 106 views
0

我想了解何時發生此oracle錯誤'錯誤:ORA-06502:PL/SQL:數值或值錯誤:主機綁定陣列太小'錯誤:ORA-06502:PL/SQL:數字或值錯誤:主機綁定數組太小

我有一個plsql塊,它有一個正常的annonymus塊,它具有DBMS_output.put_line,並且在for循環中還有DBMS_output.put,並且在代碼中它調用另一個for循環本身和out使用DBMS_output.put顯示包成功(如S)和errormessage(如err_msg)的變量,輸出將打印少量記錄,但突然發生上述錯誤並且塊完成不會發生這種情況。任何人都可以解釋爲什麼發生這種錯誤。

+2

請發表[MCVE] – OldProgrammer

+0

什麼版本的Oracle和SQL /加?請參閱[本討論](http://www.tek-tips.com/viewthread.cfm?qid=1633289)針對相同的問題 - 在Oracle 9i(或更高版本的Oracle中使用較早的SQL/Plus版本訪問)時似乎是'DBMS_OUTPUT.PUT_LINE'上的255個字符限制。 – MT0

回答

-1

通常,當您嘗試設置值太大的變量時會發生此錯誤。例如。

v_number number(2); 
BEGIN 
    v_number := 100; 
END; 

或當您嘗試保存文本分成若干變量

v_number number(2); 
BEGIN 
    v_number := 'a'; 
END; 

在這裏看到更多的信息:https://www.techonthenet.com/oracle/errors/ora06502.php

+1

OP的錯誤是ORA-06502:PL/SQL:數字或值錯誤:主機綁定數組太小而不是ORA-06502:PL/SQL:數字或值錯誤:數字精度太大或ORA-06502 :PL/SQL:數字或值錯誤:字符到數字轉換錯誤'。 – MT0

+1

我能夠複製這個問題。在SQL PLUS中,dbms_output.put_line限制多達255個字符。如果超過此限制,則會彈出'錯誤:ORA-06502:PL/SQL:數字或值錯誤:主機綁定數組太小'。但這不會影響該塊的執行。 – user2614856

+0

@ user2614856是對的!這解決了我的問題! – Qianlong

相關問題