Дифференцировать «Не удалось выделить место для объекта» Исключение - PullRequest
1 голос
/ 04 июля 2019

Я получаю com.microsoft.sqlserver.jdbc.SQLServerException: не удалось выделить место для объекта поскольку файловая группа заполнена. Я хочу, чтобы способ идентифицировать это исключение SQL из других исключений SQL.

Если я проверю java.sql.SQLException.venderCode == 1105, будет ли этого достаточно? И есть ли место, где я могу получить описание кода 1105?

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Достаточно проверить только один код ошибки.Возвращенное значение vendorCode является номером ошибки SQL Server.Ошибки SQL Server и текст сообщения с токенами могут быть получены с помощью sys.messages DMV.Пример для английского языка США:

SELECT *
FROM sys.messages
WHERE
    message_id = 1105
    AND language_id = 1033;
0 голосов
/ 04 июля 2019

Если я проверю java.sql.SQLException.venderCode == 1105, будет ли этого достаточно?

Да, этот код поставщика (доступный при вызове getErrorCode()) всегда будет отображаться наэта ошибка.Просто имейте в виду, что он специфичен для SQL Server, а не согласован для всех реализаций SQL.

Различные сайты, подобные этому , подробно описывают все коды ошибок, доступные для сервера SQL (включая 1105.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...