当他使用我们的网站时,他看到以下错误输出时,我收到了用户的电子邮件。
java.sql.SQLException:ORA-06502:PL / SQL:数字或值错误:string缓冲区太小ORA-06512:在“WEB_OWNER.SSFP_GET_WE_OBJ”,行300 ORA-06512:在行1
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:315) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:281)
这是oracle webconnection for Oracle 10g(10.1.2.3.0)的错误。
任何想法?
问题在于错误,在所有的编程语言中都是常见的。 您的variables对于您要放入的值太小。 这是一个常见的PL / SQLexception。 阻止这种情况发生的简单方法是将你的pl / sqlvariables固定在列上。 不要这样做
variableName variableType(可变长度)
如果你改变一个列,为了使它变长,你需要改变代码来使variables更宽。 做这个:
variableName column.table%TYPE
所以,如果你想从雇员表和客户名字段的variables基础做这个
vCustomerName employees.customerName%types;
这已经在pl / sql中可用了15 – 20年。
ORA-06502:PL / SQL:数字或值错误:string缓冲区太小