Каковы все возможные значения для SQLException.getSQLState?
SQLException.getSQLState
извлекаетSQLState
дляSQLException
объект. Каковы все возможные значения, которые могут быть возвращены этим методом? Могу ли я использовать это значение для определения конкретных ошибок, которые произошли в базе данных (т. Е. Может ли это значение сказать мне, было ли это нарушение PK, или уникальное ограничение, или значение столбца для большого размера и т. Д.)?
Так жеDatabaseMetaData.getSQLStateType()
метод должен указать, является лиSQLSTATE
вернулсяSQLException.getSQLState
это X / Open (теперь известный как Open Group) SQL CLI или SQL99. Единственное возможное значение для этого должно бытьDatabaseMetaData.sqlStateXOpen == 1
а такжеDatabaseMetaData.sqlStateSQL99 == 2
но я получаю значение0
, Я что-то пропустил?
Есть ли способ, которым я могу определить конкретный тип ошибки, которая произошла в БД, используя комбинации из вышеупомянутых методов? Могу ли я рассчитывать на значенияSQLException.getSQLState
? Отличаются ли эти значения от поставщика БД к поставщику БД?