Applications et pilotes conformes aux normes

Une application ou un pilote conforme aux normes est une application conforme à la spécification Open Group CAE « Gestion des données : interface de niveau appel SQL (CLI) » et l’interface de niveau appel (CLI) ISO/IEC 9075-3 :1995 (E) Call-Level Interface (SQL/CLI).

ODBC 3.x garantit les fonctionnalités suivantes :

  • Une application écrite dans les spécifications Open Group et ISO CLI fonctionne avec un pilote ODBC 3.x ou un pilote conforme aux normes lorsqu’elle est compilée avec les fichiers d’en-tête ODBC 3.x et liées avec les bibliothèques ODBC 3.x , et quand elle obtient l’accès au pilote via le Gestionnaire de pilotes ODBC 3.x .

  • Un pilote écrit dans les spécifications Open Group et ISO CLI fonctionne avec une application ODBC 3.x ou une application conforme aux normes lorsqu’elle est compilée avec les fichiers d’en-tête ODBC 3.x et liées avec les bibliothèques ODBC 3.x , et lorsque l’application accède au pilote via le Gestionnaire de pilotes ODBC 3.x .

Les applications et pilotes conformes aux normes sont compilés avec l’indicateur de compilation ODBC_STD.

Les applications conformes aux normes présentent le comportement suivant :

  • Si une application conforme aux normes appelle SQLAllocEnv (qui peut se produire car SQLAllocEnv est une fonction valide dans open group et l’interface CLI ISO), l’appel est mappé à SQLAllocHandleStd au moment de la compilation. Par conséquent, au moment de l’exécution, l’application appelle SQLAllocHandleStd. Pendant le traitement de cet appel, le Gestionnaire de pilotes définit l’attribut d’environnement SQL_ATTR_ODBC_VERSION sur SQL_OV_ODBC3. Un appel à SQLAllocHandleStd équivaut à un appel à SQLAllocHandle avec un HandleType de SQL_HANDLE_ENV et un appel à SQLSetEnvAttr pour définir SQL_ATTR_ODBC_VERSION sur SQL_OV_ODBC3.

  • Si une application conforme aux normes appelle SQLBindParam (ce qui peut se produire, car SQLBindParam est une fonction valide dans l’interface CLI Open Group et ISO), odbc 3.x Driver Manager mappe l’appel à l’appel équivalent dans SQLBindParameter. (Voir Mappage SQLBindParam dans l’annexe G : Instructions du pilote pour la compatibilité descendante.)

  • Pour s’aligner sur l’interface CLI ISO, les fichiers d’en-tête ODBC 3.x contiennent des alias pour les types d’informations utilisés dans les appels à SQLGetInfo. Une application conforme aux normes peut utiliser ces alias au lieu des types d’informations ODBC 3.x . Pour plus d’informations, consultez la rubrique suivante, Fichiers d’en-tête.

  • Une application conforme aux normes doit vérifier que toutes les fonctionnalités prises en charge sont prises en charge dans le pilote avec lequel elle fonctionnera. La définition de l’attribut d’instruction SQL_ATTR_CURSOR_SCROLLABLE sur SQL_SCROLLABLE et la définition de l’attribut d’instruction SQL_ATTR_CURSOR_SENSITIVITY sur SQL_INSENSITIVE ou SQL_SENSITIVE sont des fonctionnalités disponibles en tant que fonctionnalités facultatives dans les normes, mais qui ne sont pas incluses dans le niveau ODBC 3.x Core et peuvent donc ne pas être prises en charge par tous les pilotes ODBC 3.x . Si une application conforme aux normes utilise ces fonctionnalités, elle doit vérifier que le pilote qu’il utilisera les prend en charge.