SQLGetInfo, prise en charge

Quand odbc 2. L’application x appelle SQLGetInfo vers un pilote ODBC 3*.x*, les arguments InfoType du tableau suivant doivent être pris en charge.

InfoType Retours
SQL_ALTER_TABLE (ODBC 2.0) Remarque : Ce type d’informations n’est pas déconseillé ; les masque de bits de la colonne située à droite sont déconseillés. Masque de bits SQLINTEGER énumérant les clauses dans l’instruction ALTER TABLE prise en charge par la source de données.

Les masques de bits suivants sont utilisés pour déterminer les clauses prises en charge :

SQL_AT_DROP_COLUMN = La possibilité de supprimer des colonnes est prise en charge. Si cela entraîne un comportement en cascade ou restreint est défini par le pilote. (ODBC 2.0)

SQL_AT_ADD_COLUMN = La possibilité d’ajouter plusieurs colonnes dans une seule instruction ALTER TABLE est prise en charge. Ce bit ne se combine pas avec d’autres bits SQL_AT_ADD_COLUMN_XXX ou SQL_AT_CONSTRAINT_XXX bits. (ODBC 2.0)
SQL_FETCH_DIRECTION (ODBC 1.0)

Le type d’informations a été introduit dans ODBC 1.0 ; chaque masque de bits est étiqueté avec la version dans laquelle il a été introduit.
Masque de bits SQLINTEGER énumérant les options de direction d’extraction prises en charge.

Les masques de bits suivants sont utilisés conjointement avec l’indicateur pour déterminer les options prises en charge :

SQL_FD_FETCH_NEXT (ODBC 1.0) SQL_FD_FETCH_FIRST (ODBC 1.0) SQL_FD_FETCH_LAST (ODBC 1.0) SQL_FD_FETCH_PRIOR (ODBC 1.0) SQL_FD_FETCH_ABSOLUTE (ODBC 1.0) SQL_FD_FETCH_RELATIVE (ODBC 1.0) SQL_FD_FETCH_BOOKMARK (ODBC 2.0)
SQL_LOCK_TYPES (ODBC 2.0) Masque de bits SQLINTEGER énumérant les types de verrous pris en charge pour l’argument fLock dans SQLSetPos.

Les masques de bits suivants sont utilisés conjointement avec l’indicateur pour déterminer les types de verrous pris en charge :

SQL_LCK_NO_CHANGE SQL_LCK_EXCLUSIVE SQL_LCK_UNLOCK
SQL_ODBC_API_CONFORMANCE (ODBC 1.0) Valeur SQLSMALLINT indiquant le niveau de conformité ODBC.

SQL_OAC_NONE = Aucun

SQL_OAC_LEVEL1 = Niveau 1 pris en charge

SQL_OAC_LEVEL2 = Niveau 2 pris en charge
SQL_ODBC_SQL_CONFORMANCE (ODBC 1.0) Valeur SQLSMALLINT indiquant la grammaire SQL prise en charge par le pilote. Consultez l’Annexe C : Grammaire SQL pour obtenir une définition des niveaux de conformité SQL.

SQL_OSC_MINIMUM = Grammaire minimale prise en charge

SQL_OSC_CORE = Grammaire de base prise en charge

SQL_OSC_EXTENDED = Grammaire étendue prise en charge
SQL_POS_OPERATIONS (ODBC 2.0) Masque de bits SQLINTEGER énumérant les opérations prises en charge dans SQLSetPos.

Les masques de bits suivants sont utilisés conjointement avec l’indicateur pour déterminer les options prises en charge :

SQL_POS_POSITION (ODBC 2.0) SQL_POS_REFRESH (ODBC 2.0) SQL_POS_UPDATE (ODBC 2.0) SQL_POS_DELETE (ODBC 2.0) SQL_POS_ADD (ODBC 2.0)
SQL_POSITIONED_STATEMENTS (ODBC 2.0) Masque de bits SQLINTEGER qui énumére les instructions SQL positionnées prises en charge.

Les masques de bits suivants sont utilisés pour déterminer les instructions prises en charge :

SQL_PS_POSITIONED_DELETE SQL_PS_POSITIONED_UPDATE SQL_PS_SELECT_FOR_UPDATE
SQL_SCROLL_CONCURRENCY (ODBC 1.0) Masque de bits SQLINTEGER énumérant les options de contrôle d’accès concurrentiel prises en charge pour le curseur.

Les masques de bits suivants sont utilisés pour déterminer les options prises en charge :

SQL_SCCO_READ_ONLY = Le curseur est en lecture seule. Aucune mise à jour n’est autorisée.

SQL_SCCO_LOCK = Le curseur utilise le niveau de verrouillage le plus bas suffisant pour garantir la mise à jour de la ligne.

SQL_SCCO_OPT_ROWVER = Cursor utilise le contrôle d’accès concurrentiel optimiste, en comparant les versions de ligne, telles que SQLBase ROWID ou Sybase TIMESTAMP.

SQL_SCCO_OPT_VALUES = Le curseur utilise un contrôle d’accès concurrentiel optimiste, en comparant les valeurs.
SQL_STATIC_SENSITIVITY (ODBC 2.0) Un masque de bits SQLINTEGER énumérant si les modifications apportées par une application à un curseur statique ou piloté par un jeu de clés via SQLSetPos ou des instructions de mise à jour ou de suppression positionnées peuvent être détectées par cette application.

SQL_SS_ADDITIONS = Les lignes ajoutées sont visibles au curseur ; le curseur peut faire défiler jusqu’à ces lignes. L’emplacement où ces lignes sont ajoutées au curseur dépend du pilote.

SQL_SS_DELETIONS = Les lignes supprimées ne sont plus disponibles pour le curseur et ne laissent pas de « trou » dans le jeu de résultats ; une fois que le curseur défile à partir d’une ligne supprimée, il ne peut pas revenir à cette ligne.

SQL_SS_UPDATES = Mises à jour aux lignes sont visibles par le curseur ; si le curseur défile depuis et retourne vers une ligne mise à jour, les données retournées par le curseur sont les données mises à jour, et non les données d’origine. Cette option s’applique uniquement aux curseurs statiques ou aux mises à jour sur les curseurs pilotés par un jeu de clés qui ne mettent pas à jour la clé. Cette option ne s’applique pas à un curseur dynamique ou au cas où une clé est modifiée dans un curseur mixte.

La possibilité pour une application de détecter les modifications apportées au jeu de résultats par d’autres utilisateurs, y compris d’autres curseurs dans la même application, dépend du type de curseur.

Une application ODBC 3*.x* fonctionnant avec un pilote ODBC 3*.x* ne doit pas appeler SQLGetInfo avec les arguments InfoType décrits dans le tableau précédent, mais doit utiliser les arguments InfoType ODBC 3*.x* répertoriés dans le paragraphe suivant. Il n’existe pas de correspondance un-à-un entre les arguments InfoType utilisés dans ODBC 2. x et ceux utilisés dans ODBC 3*.x*. Une application ODBC 3*.x* fonctionnant avec odbc 2. Le pilote x , en revanche, doit utiliser les arguments InfoType décrits précédemment.

Certains des types d’informations du tableau précédent sont dépréciés en faveur des types d’informations d’attributs de curseur. Ces types d’informations déconseillés sont SQL_FETCH_DIRECTION, SQL_LOCK_TYPES, SQL_POS_OPERATIONS, SQL_POSITIONED_STATEMENTS, SQL_SCROLL_CONCURRENCY et SQL_STATIC_SENSITIVITY. Les nouveaux types d’attributs de curseur sont SQL_XXX_CURSOR_ATTRIBUTES1and SQL_XXX_CURSOR_ATTRIBUTES2, où XXX est égal à DYNAMIC, FORWARD_ONLY, KEYSET_DRIVEN ou STATIC. Chacun des nouveaux types indique les fonctionnalités de pilote pour un seul type de curseur. Pour plus d’informations sur ces options, consultez la description de la fonction SQLGetInfo .