Partager via


Libération des descripteurs

Les descripteurs alloués explicitement peuvent être libérés explicitement, en appelant SQLFreeHandle avec HandleType de SQL_HANDLE_DESC, ou implicitement, lorsque le handle de connexion est libéré. Lorsqu’un descripteur explicitement alloué est libéré, tous les handles d’instruction auxquels le descripteur libéré appliqué revient automatiquement aux descripteurs implicitement alloués pour eux.

Les descripteurs implicitement alloués peuvent être libérés uniquement en appelant SQLDisconnect, ce qui supprime toutes les instructions ou descripteurs ouverts sur la connexion, ou en appelant SQLFreeHandle avec un HandleType de SQL_HANDLE_STMT pour libérer un handle d’instruction et tous les descripteurs alloués implicitement associés à l’instruction. Un descripteur implicitement alloué ne peut pas être libéré en appelant SQLFreeHandle avec un HandleType de SQL_HANDLE_DESC.

Même en cas de libération, un descripteur alloué implicitement reste valide et SQLGetDescField peut être appelé sur ses champs.