Supporto di SQLGetInfo

Quando un ODBC 2. x chiama SQLGetInfo a un driver ODBC 3*.x*, devono essere supportati gli argomenti InfoType nella tabella seguente.

InfoType Returns
SQL_ALTER_TABLE (ODBC 2.0 ) Nota: Questo tipo di informazione non è obsoleto; Le bitmask nella colonna a destra sono state obsolete. Una bitmask SQLINTEGER che enumera le clausole nell'istruzione ALTER TABLE supportata dalla sorgente dati.

Per determinare quali clausole sono supportate, vengono usate le maschera di bit seguenti:

SQL_AT_DROP_COLUMN = È supportata la possibilità di far cadere colonne. Se questo comporti un comportamento a cascata o restrizione dipende dal driver. (ODBC 2.0)

SQL_AT_ADD_COLUMN = È supportata la possibilità di aggiungere più colonne in una singola ALTER TABLE istruzione. Questo bit non si combina con altri bit SQL_AT_ADD_COLUMN_XXX o bit SQL_AT_CONSTRAINT_XXX. (ODBC 2.0)
SQL_FETCH_DIRECTION (ODBC 1.0)

Il tipo di informazione è stato introdotto in ODBC 1.0; Ogni bitmask è etichettata con la versione in cui è stata introdotta.
Una bitmask SQLINTEGER che enumera le opzioni di direzione di recupero supportate.

Le seguenti bitmask vengono utilizzate insieme al flag per determinare quali opzioni sono supportate:

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) Una bitmask SQLINTEGER che enumera i tipi di lock supportati per l'argomento fLock in SQLSetPos.

Le seguenti bitmask vengono utilizzate insieme al flag per determinare quali tipi di lock sono supportati:

SQL_LCK_NO_CHANGE SQL_LCK_EXCLUSIVE SQL_LCK_UNLOCK
SQL_ODBC_API_CONFORMANCE (ODBC 1.0) Un valore SQLSMALLINT che indica il livello di conformità ODBC.

SQL_OAC_NONE = Nessuno

SQL_OAC_LEVEL1 = Livello 1 supportato

SQL_OAC_LEVEL2 = Livello 2 supportato
SQL_ODBC_SQL_CONFORMANCE (ODBC 1.0) Un valore SQLSMALLINT che indica la grammatica SQL supportata dal driver. Vedi l'Appendice C: Grammatica SQL per una definizione dei livelli di conformità SQL.

SQL_OSC_MINIMUM = Grammatica minima supportata

SQL_OSC_CORE = Grammatica di base supportata

SQL_OSC_EXTENDED = Grammatica estesa supportata
SQL_POS_OPERATIONS (ODBC 2.0) Una bitmask SQLINTEGER che enumera le operazioni supportate in SQLSetPos.

Le seguenti bitmask vengono utilizzate insieme al flag per determinare quali opzioni sono supportate:

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) Una bitmask SQLINTEGER che enumera le istruzioni SQL posizionate supportate.

Le seguenti bitmask sono utilizzate per determinare quali istruzioni sono supportate:

SQL_PS_POSITIONED_DELETE SQL_PS_POSITIONED_UPDATE SQL_PS_SELECT_FOR_UPDATE
SQL_SCROLL_CONCURRENCY (ODBC 1.0) Una bitmask SQLINTEGER che enumera le opzioni di controllo di concorrenza supportate per il cursore.

Per determinare quali opzioni sono supportate, vengono usate le maschera di bit seguenti:

SQL_SCCO_READ_ONLY = Il cursore è di sola lettura. Non sono ammessi aggiornamenti.

SQL_SCCO_LOCK = Il cursore utilizza il livello più basso di bloccaggio sufficiente a garantire che la riga possa essere aggiornata.

SQL_SCCO_OPT_ROWVER = Il cursore utilizza il controllo ottimista della concorrenza, confrontando le versioni delle righe, come SQLBase ROWID o Sybase TIMESTAMP.

SQL_SCCO_OPT_VALUES = Il cursore utilizza un controllo ottimista della concorrenza, confrontando i valori.
SQL_STATIC_SENSITIVITY (ODBC 2.0) Una bitmask SQLINTEGER che enumera se le modifiche apportate da un'applicazione a un cursore statico o guidato da keyset tramite SQLSetPos o istruzioni di aggiornamento o cancellazione posizionate possono essere rilevate da quell'applicazione.

SQL_SS_ADDITIONS = Le righe aggiunte sono visibili al cursore; il cursore può scorrere fino a queste righe. Il luogo in cui queste righe vengono aggiunte al cursore dipende dal driver.

SQL_SS_DELETIONS = Le righe eliminate non sono più disponibili per il cursore e non lasciano un "buco" nell'insieme dei risultati; dopo che il cursore scorre da una riga eliminata, non può tornare a quella riga.

SQL_SS_UPDATES = Gli aggiornamenti alle righe sono visibili al cursore; Se il cursore scorre da e ritorna a una riga aggiornata, i dati restituiti dal cursore sono i dati aggiornati, non i dati originali. Questa opzione si applica solo ai cursori statici o agli aggiornamenti su cursori guidati dal keyset che non aggiornano la chiave. Questa opzione non si applica a un cursore dinamico o nel caso in cui un tasto venga modificato in un cursore misto.

Se un'applicazione può rilevare le modifiche apportate al set di risultati da altri utenti, inclusi altri cursori nella stessa applicazione, dipende dal tipo di cursore.

Un'applicazione ODBC 3*.x* che lavora con un driver ODBC 3*.x* non dovrebbe chiamare SQLGetInfo con gli argomenti InfoType descritti nella tabella precedente, ma dovrebbe utilizzare gli argomenti ODBC 3*.x* InfoType elencati nel paragrafo seguente. Non esiste una corrispondenza uno a uno tra gli argomenti InfoType usati in ODBC 2. x e quelli usati in ODBC 3*.x*. Un'applicazione ODBC 3*.x* che lavora con un ODBC 2. il driver x , invece, dovrebbe usare gli argomenti InfoType descritti in precedenza.

Alcuni tipi di informazione nella tabella precedente sono stati deprecati a favore degli attributi del cursore. Questi tipi di informazioni obsoleti sono SQL_FETCH_DIRECTION, SQL_LOCK_TYPES, SQL_POS_OPERATIONS, SQL_POSITIONED_STATEMENTS, SQL_SCROLL_CONCURRENCY e SQL_STATIC_SENSITIVITY. I nuovi tipi di attributi del cursore sono SQL_XXX_CURSOR_ATTRIBUTES1and SQL_XXX_CURSOR_ATTRIBUTES2, dove XXX è uguale a DINAMICO, FORWARD_ONLY, KEYSET_DRIVEN o STATICO. Ognuno dei nuovi tipi indica le capacità del driver per un singolo tipo di cursore. Per maggiori informazioni su queste opzioni, consulta la descrizione della funzione SQLGetInfo .