Types de données spécifique du pilote, types de descripteurs, types d’informations, types de diagnostics et attributs
Les pilotes peuvent allouer des valeurs spécifiques au pilote pour les éléments suivants :
Indicateurs de type de données SQL Utilisés dans ParameterType dans SQLBindParameter et Dans DataType dans SQLGetTypeInfo et retournés par SQLColAttribute, SQLColumns, SQLDescribeCol, SQLGetTypeInfo, SQLDescribeParam, SQLProcedureColumns et SQLSpecialColumns.
Champs de descripteur Utilisés dans FieldIdentifier dans SQLColAttribute, SQLGetDescField et SQLSetDescField.
Champs de diagnostic Utilisés dans DiagIdentifier dans SQLGetDiagField et SQLGetDiagRec.
Types d’informations Utilisés dans InfoType dans SQLGetInfo.
attributs Connecter ion et d’instruction Elles sont utilisées dans Attribute dans SQLGet Connecter Attr, SQLGetStmtAttr, SQLSet Connecter Attr et SQLSetStmtAttr.
Pour chacun de ces éléments, il existe deux ensembles de valeurs : les valeurs réservées pour une utilisation par ODBC et les valeurs réservées pour une utilisation par les pilotes. Avant d’implémenter des valeurs spécifiques au pilote, un enregistreur de pilotes doit demander une valeur pour chaque type, champ ou attribut spécifique au pilote à partir d’Open Group. Pour le développement de nouveaux pilotes, utilisez la plage décrite dans le tableau ci-dessous. Le Gestionnaire de pilotes ODBC 3.8 ne génère pas d’erreur si une valeur inconnue n’est pas utilisée dans la plage décrite ci-dessous. Toutefois, les versions ultérieures du Gestionnaire de pilotes peuvent générer une erreur si des valeurs inconnues sont reçues qui ne figurent pas dans la plage.
Quand l’une de ces valeurs est passée à une fonction ODBC, le pilote doit case activée si la valeur est valide. Les pilotes retournent SQLSTATE HYC00 (fonctionnalité facultative non implémentée) pour les valeurs spécifiques au pilote qui s’appliquent à d’autres pilotes.
À compter d’ODBC 3.8, les enregistreurs de pilotes peuvent allouer des attributs spécifiques au pilote dans une plage réservée.
Remarque
Le Gestionnaire de pilotes ODBC 3.8 ne valide ni n’applique ces plages pour la compatibilité descendante. Toutefois, une version ultérieure du Gestionnaire de pilotes peut les appliquer.
Type d'attribut | Type de données ODBC | Base de plages spécifique au pilote | Limite de plage spécifique au pilote | Constante ODBC pour la base de plage de valeurs spécifique au pilote |
---|---|---|---|---|
Indicateurs de type de données SQL | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_SQL_TYPE_BASE |
Champs de descripteur | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DESCRIPTOR_BASE |
Champs de diagnostic | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DIAGNOSTIC_BASE |
Types d’informations | SQLUSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_INFO_TYPE_BASE |
Attributs de connexion | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_CONNECT_ATTR_BASE |
Attributs d’instruction | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_STATEMENT_ATTR_BASE |
Remarque
Les types de données spécifiques au pilote, les champs de descripteur, les champs de diagnostic, les types d’informations, les attributs d’instruction et les attributs de connexion doivent être décrits dans la documentation du pilote. Quand l’une de ces valeurs est passée à une fonction ODBC, le pilote doit case activée si la valeur est valide. Les pilotes retournent SQLSTATE HYC00 (fonctionnalité facultative non implémentée) pour les valeurs spécifiques au pilote qui s’appliquent à d’autres pilotes.
Les valeurs de base sont définies pour faciliter le développement de pilotes. Par exemple, des attributs de diagnostic spécifiques au pilote peuvent être définis au format suivant :
SQL_DRIVER_DIAGNOSTIC_BASE+0, SQL_DRIVER_DIAGNOSTIC_BASE +1
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour