SQLException.getSQLState
récupère le SQLState
pour l'objet SQLException
. Quelles sont toutes les valeurs possibles qui peuvent être retournées par cette méthode? Puis-je utiliser la valeur pour identifier les erreurs spécifiques qui se sont produites dans la base de données (par exemple, cette valeur peut-elle me dire s'il s'agit d'une violation de PK, d'une contrainte unique ou d'une valeur de colonne)?Quelles sont toutes les valeurs possibles pour SQLException.getSQLState?
En outre, la méthode DatabaseMetaData.getSQLStateType()
est censée indiquer si le SQLSTATE
retourné par SQLException.getSQLState
est X/Open (maintenant appelé Open Group) SQL CLI ou SQL99. La seule valeur possible pour ceci devrait être DatabaseMetaData.sqlStateXOpen == 1
et DatabaseMetaData.sqlStateSQL99 == 2
mais j'obtiens la valeur 0
. Est-ce que je manque quelque chose?
Y a-t-il un moyen de déterminer le type spécifique d'erreur qui s'est produit dans la base de données en utilisant des combinaisons des méthodes mentionnées ci-dessus? Puis-je compter sur les valeurs de SQLException.getSQLState
? Ces valeurs sont-elles différentes du fournisseur de base de données au fournisseur de base de données?
[Voir aussi cette réponse] (http://stackoverflow.com/a/1989469/521799) –