Comment différer les codes d'erreur MSSQL JDBC?

Mon server appelle parfois le MSSQL JDBC CallableStatement.execute() qui fonctionne avec une connection précédemment connectée. Tout est ok pendant que la connection est en vie. Mais si la connection est déconnectée d'une manière ou d'une autre (par exemple quelqu'un éteint le server SQL), l'appel execute() lance SQLException . J'ai besoin de différer entre l'erreur «connection a été abandonnée» et toute autre erreur JDBC (comme la table que j'essaie d'utiliser n'existe pas). Depuis si j'ai frappé l'erreur de connection – je dois me reconnecter. Et dans tous les autres cas, j'ai juste besoin de donner un message d'erreur à l'user.

SQLException.getSQLState() renvoie toujours null et getErrorCode() renvoie toujours 0.

Merci

Je ne suis pas un expert Java mais cela semble principalement basé sur Java.

Vous devez attraper l'exception de la command .execute() et interroger la string pour voir quelle est l'erreur, puis prendre une décision sur la méthode à exécuter en fonction de cette information.