Problem: the error "ora01438" is reported when the data is updated or inserted in the project. It is known that the precision of the number type does not match. However, I found that no specific table or field exists in debug.
Symptom: Java. SQL. batchupdateexception: ORA-01438: The value is greater than the allowed precision specified for this column
My own solution:
User operations with DBA Permissions
alter system set events=‘1438 trace name Errorstack forever,level 12‘;
View trace files
The Oracle warning file/home/Oracle/APP/diag/rdbms/orcl/Trace/alert_orcl.log can help you locate the trace file accurately.
Tue Nov 04 13:54:09 2014 errors in file/home/Oracle/APP/diag/rdbms/orcl/Trace/orcl_ora_28912.trc: The value is greater than the allowable precision specified for this column
Find the specified/home/Oracle/APP/diag/rdbms/orcl/Trace/orcl_ora_28912.trc file.
----- Error stack dump ----- ORA-01438: value greater than the allowable precision specified for this column ----- current SQL statement for this session (SQL _id = as315uv85ktcx) ----- insert into "test" values (280750000)
However, in my real environment, it is not a simple insert statement. Here we can only see that the specific table has an error. However, the specific field and field value can only be analyzed.
Is the data source in the project out of the range of number (P, S.
Although the problem is solved, it is troublesome.
The problem that cannot be solved by yourself is that you can only analyze the trace file, rather than the specific information of the trace file.
If you see it, please do not give it to us.
Solution to ORA-01438 errors