Я не вижу ничего очевидного в SQLException
, но могу придумать два варианта:
- Удалить все в квадратных скобках, возможно, с помощью регулярного выражения.
- Есливы всегда используете один и тот же драйвер, просто удалите ведущую предсказуемую ведущую подстроку
Пример кода для второго варианта:
private static final String MESSAGE_PREFIX =
"[Microsoft][ODBC SQL Server Driver][SQL Server]";
...
String message = exception.getMessage();
if (message.startsWith(MESSAGE_PREFIX))
{
message = message.substring(MESSAGE_PREFIX.length());
}
Это, вероятно, будет значительно проще, чем первыйвариант, но, очевидно, довольно хрупкий перед лицом изменений драйвера.Однако я не удивлюсь, если увидим, что формат сообщений для разных драйверов изменился ...