Partager via


Séquence d’enregistrements d’état

Si deux enregistrements d’état ou plus sont retournés, le Gestionnaire de pilotes et le pilote les classent en fonction des règles suivantes. L’enregistrement avec le rang le plus élevé est le premier enregistrement. La source d’un enregistrement (Gestionnaire de pilotes, pilote, passerelle, etc.) n’est pas prise en compte lors du classement des enregistrements.

  • Erreurs Les enregistrements d’état qui décrivent les erreurs ont le rang le plus élevé. Parmi les enregistrements d’erreur, les enregistrements qui indiquent un échec de transaction ou un échec de transaction possible ont dépassé tous les autres enregistrements. Si deux enregistrements ou plus décrivent la même condition d’erreur, les SQLSTATEs définies par la spécification CLI Open Group (classes 03 à HZ) ont préséance sur les SQLSTATEs définies par ODBC et celles définies par le pilote.

  • Valeurs de données non définies par l’implémentation Les enregistrements d’état qui décrivent les valeurs No Data définies par le pilote (classe 02) ont le deuxième rang le plus élevé.

  • Avertissements Les enregistrements d’état qui décrivent les avertissements (classe 01) ont le rang le plus bas. Si deux enregistrements ou plus décrivent la même condition d’avertissement, les SQLSTATE d’avertissement définis par la spécification CLI Open Group prennent le pas sur les SQLSTATE définis par ODBC ainsi que celles définies par le pilote.

S’il y a deux enregistrements ou plus avec le rang le plus élevé, il n’est pas défini quel enregistrement est le premier enregistrement. L’ordre de tous les autres enregistrements n’est pas défini. En particulier, étant donné que les avertissements peuvent apparaître avant les erreurs, les applications doivent vérifier tous les enregistrements d’état lorsqu’une fonction retourne une valeur autre que SQL_SUCCESS.