Каковы все возможные значения для 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? Отличаются ли эти значения от поставщика БД к поставщику БД?

Ответы на вопрос(4)

Ваш ответ на вопрос