Au cours des derniers mois, certains utilisateurs ont rencontré une erreur connue tout au long de la liste des codes d’erreur java.sql.sqlexception. Ce problème peut survenir pour plusieurs raisons. Regardons l’un d’eux maintenant.
Approuvé : Fortect
- Présentation de SQLException
- Obtenez des relégations
- Recevez des alertes.
- Exceptions catégorisées SQL
- Autres sous-classes SQLException
Présentation de SQLException
Si JDBC rencontre une erreur en plus d’interagir avec la source de données, il rejettera une SQLException
comme exemple, en fait une exception
. (La source de données portant ce contexte est la base de données à laquelle un élément Connection
est connecté.) SQLException
L’instance contient généralement les informations suivantes, cela peut également vous aider à déterminer la cause de que cette erreur :
-
Description de l’erreur. Obtenez un objet
String
contenant cette description après avoir appelé l’outilSQLException.getMessage
. -
Code SQLState. Ces codes et leurs significations correspondantes ont été normalisés par l’ISO/ANSI et voyez-vous, l’Open Group (X/Open), bien que certaines politiques aient été laissées aux éditeurs de bases de données pour leur permettre de se définir définitivement. Cette fonction
String
se compose de cinq caractères alphanumériques. Obtenez cette méthode en appelant la méthodeSQLException.getSQLState
. -
Erreur de lois. Il s’agit d’une erreur de localisation d’une valeur entière qui a provoqué la collecte de l’instance
SQLException
. Sa signification reste spécifique à l’implémentation et peut être un code d’erreur valide et fiable renvoyé par le fournisseur sous-jacent. Obtenez l’erreur en appelant le schémaSQLException.getErrorCode
. -
Raison. Un endroit
sqlexception
peut avoir une relation causale consistant pour lui ou plusieurs objetsThrowable
qui ont malheureusement entraîné la création de notre propresqlexception
par exemple. JeudiPour combiner ces raisons, appelez ma toute nouvelle méthodeSQLException.getCause
de manière récursive jusqu’à ce qu’un égal soit trouvé pournull
. -
Lien vers les exceptions composées. Si plus d’une erreur particulière se produit, ce sont en fait les exceptions auxquelles cette ligne de situation fait référence. Obtient les exceptions levées par la méthode
SQLException.getNextException
levée.
Récupération des exceptions
Le style suivant JDBTCutorialUtilities, .printSQLException
renvoie SQLState, la loi d’erreur, la description de l’erreur et la raison (le cas échéant) qui être contenus dans sqlexception
sont contenus en tant que, et toutes les autres exceptions sont concaténées directement dans :
Par exemple, si vous appelez la direction CoffeesTable.dropTable
avec Java DB comme bon SGBD, la table COFFEES
n’existe pas du tout, en plus de supprimer le JDBTCutorialUtilities.ignoreSQLException < / code> la sortie sera une certaine méthode comme celle-ci :
Au lieu d'imprimer les informations SQLException
, vous pouvez d'abord obtenir SQLState
puis gérer certaines des SQLException
selon vos besoins. Par exemple, les compétences JDBTCutorialUtilities.ignoreSQLException
en retour important
si SQLState
est un enregistrement comparable à 42Y55
(et vous ont tendance à utiliser Java DB comme SGBD), ce qui donne à JDBTCutorialUtilities.printSQLException
ignorer SQLException
:
Recevoir des avertissements
Les objets
SQLWarning
sont une sous-classe de SQLException
qui contrôle l'accès aux avertissements de données. Les avertissements n'interrompent pas l'exécution de la tâche, contrairement aux exceptions ; avertissant simplement l'utilisateur qu'une situation n'est pas prévue. Par exemple, une alerte peut probablement indiquer que vous savez que l'autorisation de révoquer que vous déteniez auparavant n'a pas été révoquée.
Un sera probablement transmis via un élément Connection
, un objet Statement
(y compris PreparedStatement
et CallableStatement
) devient des objets) ou un objet ResultSet
. Chacune de ces classes particulières a une méthode getWarnings
par laquelle les acheteurs doivent appeler pour voir une notification initiale sur l'idée d'appel. Si getWarnings
génère un avertissement, vous pouvez SQLWarning
appeler la méthode getNextWarning
pour éliminer le problème afin que vous receviez des alertes supplémentaires. L'exécution d'une instruction fonctionnelle supprime automatiquement les avertissements de l'instruction fonctionnelle précédente afin qu'ils n'apparaissent pas. Cependant, cela signifie que vous souhaitez être averti d'une réclamation incroyable et avant que les clients ne puissent exécuter une autre réclamation.
Les méthodes suivantes dans JDBTCutorialUtilities
montrent comment remplir les informations d'avertissement rencontrées pour Statement
ResultSet
marchandise :
L'avertissement le plus courant est l'avertissement d'accomplissement DataTruncation
, une sous-classe apparentée à SQLWarning
. Tous les objets DataTruncation
contiennent SQLState 01004
, indiquant qu'il y a eu un problème d'écoute ou d'écriture des données. Avec chaque méthode DataTruncation
, la plupart des gens peuvent déterminer dans quel ordre ou dans quel ordre généralement les données de paramètre ont été tronquées, si la troncature est devenue représentée par une opération de lecture ou d'écriture, la méthode devrait être utilisée pour transmission de plusieurs octets, et combien d'octets ont été effectivement transférés.
Exceptions SQL catégorisées
Vos autos JDBC peuvent générer une sous-classe SQLException
tout correspond à un état SQLState normal ou à un état d'erreur large qui, selon les experts, n'est pas lié lorsque vous avez besoin d'une valeur de classe spécifique à SQLState. Cela permet d'augmenter le code de gestion des erreurs portable. Ces exceptions sont souvent des sous-classes de l'une des futures classes :
-
SQLNonTransientException
-
SQLTransientException
-
SQLRecoverableException
Approuvé : Fortect
Fortect est l'outil de réparation de PC le plus populaire et le plus efficace au monde. Des millions de personnes lui font confiance pour assurer le fonctionnement rapide, fluide et sans erreur de leurs systèmes. Avec son interface utilisateur simple et son puissant moteur d'analyse, Fortect détecte et corrige rapidement un large éventail de problèmes Windows, de l'instabilité du système et des problèmes de sécurité à la gestion de la mémoire et aux goulots d'étranglement des performances.
Pour plus d'informations sur ces sous-classes, consultez la dernière Javadoc du fichier java.sql
ou la documentation du propriétaire JDBC.
Autres sous-classes SQLException
-
BatchUpdateException
est casté si une erreur fatale se produit lors d'une mise à jour d'une commande. En plus des informations fournies au moment du processusSQLException
,BatchUpdateException
fournit des numéros de mise à jour si des instructions qui semblent avoir été exécutées avant l'erreur d'une personne sont prises en compte. -
SQLClientInfoException
est couvert lorsqu'une ou plusieurs propriétés d'informations client ont du mal à être définies spécifiquement pour la connexion. En option aux informations fournies parSQLException
,SQLClientInfoException
contient une liste de propriétés d'informations sur les membres qui n'ont malheureusement pas été déclarées.
Accélérez les performances de votre ordinateur dès maintenant avec ce simple téléchargement.