File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JDBC and Relational Databases and the fly likes Reporting DB status after a SQLException Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Databases » JDBC and Relational Databases
Bookmark "Reporting DB status after a SQLException" Watch "Reporting DB status after a SQLException" New topic

Reporting DB status after a SQLException

richard marais
Ranch Hand

Joined: Aug 20, 2001
Posts: 30
What is the best way to determine what the database status is after a SQLException has occurred.
Eg. Oracle returns the following if you try delete a record with children.
ORA-02292: integrity constraint (ASS_USER.SYS_C001313) violated - child record found
Is there a method call that is not database specific? I need to determine when the above error is occuring, but on any database.
I have tried e.getSQLState() which returns a string '23000'. Can I rely on this?
Thanks in advance
Amy Smith

Joined: Jul 26, 2001
Posts: 24
I tried the same thing on DB2V5 running on OS/390 and got a 23504.
SQL state is:23504 [IBM][CLI Driver][DB2] SQL0532N A parent row cannot be deleted because the relationship "PRJCTNBR" restricts the deletion. SQLSTATE=23504
The first 2 characters are the class and 23 is Integrity Constraint Violation. Maybe you can use the "23" to indicate children on a delete?

Amy Smith<br />Java Developer<br />Haworth, Inc.<br />
subject: Reporting DB status after a SQLException
It's not a secret anymore!