Meaningless Drivel is fun!
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
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 />
I agree. Here's the link:
subject: Reporting DB status after a SQLException
It's not a secret anymore!