2016-09-05 2 views
3

Я заметил, что драйвер MS SQL JDBC бросаетЕсть ли способ получить «java.sql.SQLIntegrityConstraintViolationException» из драйвера Microsoft SQL JDBC?

"com.microsoft.sqlserver.jdbc.SQLServerException" 

для ограничений вопросов нарушения. Есть ли способ получить подтип

"java.sql.SQLIntegrityConstraintViolationException" 

от водителя за нарушение ограничения? может использоваться другой драйвер?

+0

Вы не «получите» исключение, вы нажмете его, когда что-то пойдет не так. В любом случае JBDC JAR, который вы используете в настоящее время, должен иметь все исключения, которые его код когда-либо бросает. –

+0

В моем случае я ожидаю, что это произойдет при высоком параллелизме. Поэтому я пишу механизм восстановления, чтобы предотвратить несогласованность базы данных. Мне просто нужен драйвер, который генерирует исключение в виде «java.sql.SQLIntegrityConstraintViolationException» для этой проблемы. Но текущий драйвер генерирует общий «SQLServerException», который заставляет меня проверять сообщение об ошибке, чтобы определить нарушение ограничения. – Thanuja

+0

Возможно, релевантно: http://stackoverflow.com/questions/22600993/given-a-java-sql-sqlintegrityconstraintviolationexception-is-it-possible-to-de –

ответ

0

Нам нужно будет увидеть API JDBC, который вы вызываете, чтобы увидеть, выполняет ли реализация Microsoft JDBC java.sql.SQLIntegrityConstraintViolationException. Как упоминалось выше Tim B., вы не можете заставить метод генерировать исключение, если оно не было закодировано для этого. Проверьте API.

Пожалуйста, обратитесь к документации производителя драйвера для поставщика заданных условий, для которых это исключение может быть выброшены.

Смежные вопросы