Where can I find a list of the possible SQLStates returned by SQLException.getSQLState()? Can I use SQLState instead of/in addition to vendor specific codes to determine what went wrong?

Joe Sam Shirah

Official documents that include SQLStates can obviously be purchased, at a relatively high price, from ANSI and XOpen.

But, the documentation for most databases have lists of SQLStates. Probably the most complete ( and accessible ) online listings are in the DB2 manuals. Check the DB2 Universal Messages manual, for instance. Oracle ( TechNet password required ) and Sybase, among others, also have online listings.

As to the second question, this is the intent of SQLState, however, the various databases have varying degrees of compliance. For example, some map multiple native error messages to the same SQLState. For generic use, one should probably concentrate on the major code ( the first two characters of SQLState, ) then determine if more specific info is available in the minor code ( beyond 000. )