Funzione SQLGetInfo

Conformità
Versione introdotta: Conformità agli standard ODBC 1.0: ISO 92

Summary
SQLGetInfo restituisce informazioni generali sul driver e sull'origine dati associati a una connessione.

Sintassi

  
SQLRETURN SQLGetInfo(  
     SQLHDBC         ConnectionHandle,  
     SQLUSMALLINT    InfoType,  
     SQLPOINTER      InfoValuePtr,  
     SQLSMALLINT     BufferLength,  
     SQLSMALLINT *   StringLengthPtr);  

Argomenti

ConnectionHandle
[Input] Handle di connessione.

Infotype
[Input] Tipo di informazioni.

InfoValuePtr
[Output] Puntatore a un buffer in cui restituire le informazioni. A seconda dell'InfoType richiesto, le informazioni restituite saranno una delle seguenti: una stringa di caratteri con terminazione Null, un valore SQLUSMALLINT, una maschera di bit SQLUINTEGER, un flag SQLUINTEGER, un valore binario SQLUINTEGER o un valore SQLULEN.

Se l'argomento InfoType è SQL_DRIVER_HDESC o SQL_DRIVER_HSTMT, l'argomento InfoValuePtr è sia di input che di output. Per altre informazioni, SQL_DRIVER_HDESC SQL_DRIVER_HSTMT descrittori di funzioni più avanti in questa descrizione della funzione.

Se InfoValuePtr è NULL, StringLengthPtr restituirà comunque il numero totale di byte (escluso il carattere di terminazione Null per i dati di tipo carattere) disponibili per la restituzione nel buffer a cui punta InfoValuePtr.

BufferLength
[Input] Lunghezza del buffer * InfoValuePtr. Se il valore in * InfoValuePtr non è una stringa di caratteri o se InfoValuePtr è un puntatore Null, l'argomento BufferLength viene ignorato. Il driver presuppone che la dimensione di * InfoValuePtr sia SQLUSMALLINT o SQLUINTEGER, in base a InfoType. Se * InfoValuePtr è una stringa Unicode (quando si chiama SQLGetInfoW), l'argomento BufferLength deve essere un numero pari. In caso contrario, viene restituito SQLSTATE HY090 (lunghezza del buffer o stringa non valida).

StringLengthPtr
[Output] Puntatore a un buffer in cui restituire il numero totale di byte (escluso il carattere di terminazione Null per i dati di tipo carattere) disponibili per la restituzione in *InfoValuePtr.

Per i dati di tipo carattere, se il numero di byte disponibili per la restituzione è maggiore o uguale a BufferLength, le informazioni in * InfoValuePtr vengono troncate a byte BufferLength meno la lunghezza di un carattere di terminazione Null e terminano con Null dal driver.

Per tutti gli altri tipi di dati, il valore di BufferLength viene ignorato e il driver presuppone che la dimensione di * InfoValuePtr sia SQLUSMALLINT o SQLUINTEGER, a seconda di InfoType.

Restituisce

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR o SQL_INVALID_HANDLE.

Diagnostica

Quando SQLGetInfo restituisce SQL_ERROR o SQL_SUCCESS_WITH_INFO, è possibile ottenere un valore SQLSTATE associato chiamando SQLGetDiagRec con handleType SQL_HANDLE_DBC e handle di ConnectionHandle. La tabella seguente elenca i valori SQLSTATE in genere restituiti da SQLGetInfo e ne illustra ognuno nel contesto di questa funzione. la notazione "(DM)" precede le descrizioni di SQLSTATE restituite da Gestione driver. Il codice restituito associato a ogni valore SQLSTATE è SQL_ERROR, se non specificato diversamente.

SQLSTATE Errore Descrizione
01000 Avviso generale Messaggio informativo specifico del driver. La funzione restituisce SQL_SUCCESS_WITH_INFO.
01004 Dati stringa, troncati a destra Le dimensioni del buffer * InfoValuePtr non sono sufficienti per restituire tutte le informazioni richieste. Le informazioni sono quindi troncate. La lunghezza delle informazioni richieste nel formato non intruncato viene restituita in *StringLengthPtr. La funzione restituisce SQL_SUCCESS_WITH_INFO.
08003 Connessione non aperta (DM) Il tipo di informazioni richieste in InfoType richiede una connessione aperta. Tra i tipi di informazioni riservati da ODBC, SQL_ODBC_VER può essere restituito solo senza una connessione aperta.
08S01 Errore del collegamento di comunicazione Il collegamento di comunicazione tra il driver e l'origine dati a cui è stato connesso il driver non è riuscito prima del completamento dell'elaborazione della funzione.
HY000 Errore generale: Si è verificato un errore per il quale non esiste un SQLSTATE specifico e per il quale non è stato definito sqlSTATE specifico dell'implementazione. Il messaggio di errore restituito da SQLGetDiagRec nel buffer * MessageText descrive l'errore e la relativa causa.
HY001 Errore di allocazione della memoria Il driver non è riuscito ad allocare memoria necessaria per supportare l'esecuzione o il completamento della funzione.
HY010 Errore della sequenza di funzione (DM) SQLExecute, SQLExecDirect o SQLMoreResults è stato chiamato per StatementHandle e ha restituito SQL_PARAM_DATA_AVAILABLE. Questa funzione è stata chiamata prima del recupero dei dati per tutti i parametri trasmessi.
HY013 Errore di gestione della memoria Non è stato possibile elaborare la chiamata di funzione perché non è stato possibile accedere agli oggetti di memoria sottostanti, probabilmente a causa di condizioni di memoria insufficiente.
HY024 Valore di attributo non valido (DM) L'argomento InfoType è SQL_DRIVER_HSTMT e il valore a cui punta InfoValuePtr non è un handle di istruzione valido.

(DM) L'argomento InfoType SQL_DRIVER_HDESC e il valore a cui punta InfoValuePtr non è un handle di descrittore valido.
HY090 Lunghezza di stringa o buffer non valida (DM) Il valore specificato per l'argomento BufferLength è minore di 0.

(DM) Il valore specificato per BufferLength era un numero dispari e * InfoValuePtr era di un tipo di dati Unicode.
HY096 Tipo di informazioni non compreso nell'intervallo Il valore specificato per l'argomento InfoType non è valido per la versione di ODBC supportata dal driver.
HY117 La connessione è stata sospesa a causa di uno stato di transazione sconosciuto. Sono consentite solo le funzioni di disconnessione e di sola lettura. (DM) Per altre informazioni sullo stato sospeso, vedere Funzione SQLEndTran.
HYC00 Campo facoltativo non implementato Il valore specificato per l'argomento InfoType è un valore specifico del driver non supportato dal driver.
HYT01 Timeout della connessione scaduto Il periodo di timeout della connessione è scaduto prima che l'origine dati risponda alla richiesta. Il periodo di timeout della connessione viene impostato tramite SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT.
IM001 Il driver non supporta questa funzione (DM) Il driver che corrisponde a ConnectionHandle non supporta la funzione .

Commenti

I tipi di informazioni attualmente definiti sono visualizzati in "Tipi di informazioni", più avanti in questa sezione. è previsto che ne verranno definite altre per sfruttare le diverse origini dati. Un intervallo di tipi di informazioni è riservato da ODBC. gli sviluppatori di driver devono riservare i valori per il proprio uso specifico del driver da Open Group. SQLGetInfo non esegue alcuna conversione Unicode o thunk (vedere Appendice A: Codici di errore ODBC del riferimento per programmatori ODBC) per InfoType definiti dal driver. Per altre informazioni, vedere Tipi di dati, tipi di descrittori, tipi di informazioni, tipi di diagnostica e attributi specifici del driver. Il formato delle informazioni restituite in * InfoValuePtr dipende dall'InfoType richiesto. SQLGetInfo restituirà informazioni in uno dei cinque formati seguenti:

  • Stringa di caratteri con terminazione Null

  • Valore SQLUSMALLINT

  • Maschera di bit SQLUINTEGER

  • Valore SQLUINTEGER

  • Valore binario SQLUINTEGER

Il formato di ognuno dei tipi di informazioni seguenti è riportato nella descrizione del tipo. L'applicazione deve eseguire il cast del valore restituito in *InfoValuePtr di conseguenza. Per un esempio di come un'applicazione può recuperare dati da una maschera di bit SQLUINTEGER, vedere "Esempio di codice".

Un driver deve restituire un valore per ogni tipo di informazioni definito nelle tabelle seguenti. Se un tipo di informazioni non si applica al driver o all'origine dati, il driver restituisce uno dei valori elencati nella tabella seguente.

Tipo di informazioni Valore
Stringa di caratteri ("Y" o "N") "N"
Stringa di caratteri (non "Y" o "N") stringa vuota
SQLUSMALLINT 0
Maschera di bit SQLUINTEGER o valore binario SQLUINTEGER 0L

Ad esempio, se un'origine dati non supporta le procedure, SQLGetInfo restituisce i valori elencati nella tabella seguente per i valori di InfoType correlati alle procedure.

Infotype Valore
SQL_PROCEDURES "N"
SQL_ACCESSIBLE_PROCEDURES "N"
SQL_MAX_PROCEDURE_NAME_LEN 0
SQL_PROCEDURE_TERM stringa vuota

SQLGetInfo restituisce SQLSTATE HY096 (valore di argomento non valido) per i valori di InfoType che sono nell'intervallo di tipi di informazioni riservati per l'uso da ODBC ma non sono definiti dalla versione di ODBC supportata dal driver. Per determinare la versione di ODBC a cui è conforme un driver, un'applicazione chiama SQLGetInfo con il SQL_DRIVER_ODBC_VER di informazioni. SQLGetInfo restituisce SQLSTATE HYC00 (funzionalità facoltativa non implementata) per i valori di InfoType che sono nell'intervallo di tipi di informazioni riservati per l'uso specifico del driver, ma non sono supportati dal driver.

Tutte le chiamate a SQLGetInfo richiedono una connessione aperta, tranne quando InfoType è SQL_ODBC_VER, che restituisce la versione di Gestione driver.

Tipi di informazioni

In questa sezione sono elencati i tipi di informazioni supportati da SQLGetInfo. I tipi di informazioni sono raggruppati in ordine alfabetico ed elencati in ordine alfabetico. Sono elencati anche i tipi di informazioni aggiunti o rinominati per ODBC 3 .x.

Informazioni sul driver

I valori seguenti dell'argomento InfoType restituiscono informazioni sul driver ODBC, ad esempio il numero di istruzioni attive, il nome dell'origine dati e il livello di conformità degli standard di interfaccia:

SQL_ACTIVE_ENVIRONMENTS
SQL_ASYNC_DBC_FUNCTIONS
SQL_ASYNC_MODE
SQL_ASYNC_NOTIFICATION
SQL_BATCH_ROW_COUNT
SQL_BATCH_SUPPORT
SQL_DATA_SOURCE_NAME
SQL_DRIVER_AWARE_POOLING_SUPPORTED
SQL_DRIVER_HDBC
SQL_DRIVER_HDESC
SQL_DRIVER_HENV
SQL_DRIVER_HLIB
SQL_DRIVER_HSTMT
SQL_DRIVER_NAME
SQL_DRIVER_ODBC_VER
SQL_DRIVER_VER
SQL_DYNAMIC_CURSOR_ATTRIBUTES1
SQL_DYNAMIC_CURSOR_ATTRIBUTES2
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1

SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
SQL_FILE_USAGE
SQL_GETDATA_EXTENSIONS
SQL_INFO_SCHEMA_VIEWS
SQL_KEYSET_CURSOR_ATTRIBUTES1
SQL_KEYSET_CURSOR_ATTRIBUTES2
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
SQL_MAX_CONCURRENT_ACTIVITIES
SQL_MAX_DRIVER_CONNECTIONS
SQL_ODBC_INTERFACE_CONFORMANCE
SQL_ODBC_STANDARD_CLI_CONFORMANCE
SQL_ODBC_VER
SQL_PARAM_ARRAY_ROW_COUNTS
SQL_PARAM_ARRAY_SELECTS
SQL_ROW_UPDATES
SQL_SEARCH_PATTERN_ESCAPE
SQL_SERVER_NAME
SQL_STATIC_CURSOR_ATTRIBUTES1
SQL_STATIC_CURSOR_ATTRIBUTES2

Nota

Quando si implementa SQLGetInfo, un driver può migliorare le prestazioni riducendo al minimo il numero di volte in cui le informazioni vengono inviate o richieste dal server.

Informazioni sul prodotto DBMS

I valori seguenti dell'argomento InfoType restituiscono informazioni sul prodotto DBMS, ad esempio il nome e la versione di DBMS:

SQL_DATABASE_NAME
SQL_DBMS_NAME

SQL_DBMS_VER

Informazioni sull'origine dati

I valori seguenti dell'argomento InfoType restituiscono informazioni sull'origine dati, ad esempio le caratteristiche del cursore e le funzionalità della transazione:

SQL_ACCESSIBLE_PROCEDURES
SQL_ACCESSIBLE_TABLES
SQL_BOOKMARK_PERSISTENCE
SQL_CATALOG_TERM
SQL_COLLATION_SEQ
SQL_CONCAT_NULL_BEHAVIOR
SQL_CURSOR_COMMIT_BEHAVIOR
SQL_CURSOR_ROLLBACK_BEHAVIOR
SQL_CURSOR_SENSITIVITY
SQL_DATA_SOURCE_READ_ONLY
SQL_DEFAULT_TXN_ISOLATION
SQL_DESCRIBE_PARAMETER

SQL_MULT_RESULT_SETS
SQL_MULTIPLE_ACTIVE_TXN
SQL_NEED_LONG_DATA_LEN
SQL_NULL_COLLATION
SQL_PROCEDURE_TERM
SQL_SCHEMA_TERM
SQL_SCROLL_OPTIONS
SQL_TABLE_TERM
SQL_TXN_CAPABLE
SQL_TXN_ISOLATION_OPTION
SQL_USER_NAME

Funzionalità SQL

I valori seguenti dell'argomento InfoType restituiscono informazioni sulle istruzioni SQL supportate dall'origine dati. La SQL di ogni funzionalità descritta da questi tipi di informazioni è la sintassi SQL-92. Questi tipi di informazioni non descrivono in modo esaustivo l'intera grammatica SQL-92. Descrivono invece le parti della grammatica per le quali le origini dati offrono in genere diversi livelli di supporto. In particolare, viene trattata la maggior parte delle istruzioni DDL SQL-92.

Le applicazioni devono determinare il livello generale di grammatica supportata dal SQL_SQL_CONFORMANCE di informazioni e usare gli altri tipi di informazioni per determinare le variazioni rispetto al livello di conformità standard dichiarato.

SQL_AGGREGATE_FUNCTIONS
SQL_ALTER_DOMAIN
SQL_ALTER_SCHEMA
SQL_ALTER_TABLE
SQL_ANSI_SQL_DATETIME_LITERALS
SQL_CATALOG_LOCATION
SQL_CATALOG_NAME
SQL_CATALOG_NAME_SEPARATOR
SQL_CATALOG_USAGE
SQL_COLUMN_ALIAS
SQL_CORRELATION_NAME
SQL_CREATE_ASSERTION
SQL_CREATE_CHARACTER_SET
SQL_CREATE_COLLATION
SQL_CREATE_DOMAIN
SQL_CREATE_SCHEMA
SQL_CREATE_TABLE
SQL_CREATE_TRANSLATION
SQL_DDL_INDEX
SQL_DROP_ASSERTION
SQL_DROP_CHARACTER_SET
SQL_DROP_COLLATION
SQL_DROP_DOMAIN
SQL_DROP_SCHEMA

SQL_DROP_TABLE
SQL_DROP_TRANSLATION
SQL_DROP_VIEW
SQL_EXPRESSIONS_IN_ORDERBY
SQL_GROUP_BY
SQL_IDENTIFIER_CASE
SQL_IDENTIFIER_QUOTE_CHAR
SQL_INDEX_KEYWORDS
SQL_INSERT_STATEMENT
SQL_INTEGRITY
SQL_KEYWORDS
SQL_LIKE_ESCAPE_CLAUSE
SQL_NON_NULLABLE_COLUMNS
SQL_OJ_CAPABILITIES
SQL_ORDER_BY_COLUMNS_IN_SELECT
SQL_OUTER_JOINS
SQL_PROCEDURES
SQL_QUOTED_IDENTIFIER_CASE
SQL_SCHEMA_USAGE
SQL_SPECIAL_CHARACTERS
SQL_SQL_CONFORMANCE
SQL_SUBQUERIES
SQL_UNION

SQL Limiti

I valori seguenti dell'argomento InfoType restituiscono informazioni sui limiti applicati agli identificatori e alle clausole nelle istruzioni SQL, ad esempio la lunghezza massima degli identificatori e il numero massimo di colonne in un elenco di selezione. Le limitazioni possono essere imposte dal driver o dall'origine dati.

SQL_MAX_BINARY_LITERAL_LEN
SQL_MAX_CATALOG_NAME_LEN
SQL_MAX_CHAR_LITERAL_LEN
SQL_MAX_COLUMN_NAME_LEN
SQL_MAX_COLUMNS_IN_GROUP_BY
SQL_MAX_COLUMNS_IN_INDEX
SQL_MAX_COLUMNS_IN_ORDER_BY
SQL_MAX_COLUMNS_IN_SELECT
SQL_MAX_COLUMNS_IN_TABLE
SQL_MAX_CURSOR_NAME_LEN

SQL_MAX_IDENTIFIER_LEN
SQL_MAX_INDEX_SIZE
SQL_MAX_PROCEDURE_NAME_LEN
SQL_MAX_ROW_SIZE
SQL_MAX_ROW_SIZE_INCLUDES_LONG
SQL_MAX_SCHEMA_NAME_LEN
SQL_MAX_STATEMENT_LEN
SQL_MAX_TABLE_NAME_LEN
SQL_MAX_TABLES_IN_SELECT
SQL_MAX_USER_NAME_LEN

Informazioni sulle funzioni scalari

I valori seguenti dell'argomento InfoType restituiscono informazioni sulle funzioni scalari supportate dall'origine dati e dal driver. Per altre informazioni sulle funzioni scalari, vedere Appendice E: Funzioni scalari.

SQL_CONVERT_FUNCTIONS
SQL_NUMERIC_FUNCTIONS
SQL_STRING_FUNCTIONS
SQL_SYSTEM_FUNCTIONS

SQL_TIMEDATE_ADD_INTERVALS
SQL_TIMEDATE_DIFF_INTERVALS
SQL_TIMEDATE_FUNCTIONS

Informazioni sulla conversione

I valori seguenti dell'argomento InfoType restituiscono un elenco dei tipi di dati SQL in cui l'origine dati può convertire il tipo di dati SQL specificato con la funzione scalare CONVERT:

SQL_CONVERT_BIGINT
SQL_CONVERT_BINARY
SQL_CONVERT_BIT
SQL_CONVERT_CHAR
SQL_CONVERT_DATE
SQL_CONVERT_DECIMAL
SQL_CONVERT_DOUBLE
SQL_CONVERT_FLOAT
SQL_CONVERT_INTEGER
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_INTERVAL_YEAR_MONTH

SQL_CONVERT_LONGVARBINARY
SQL_CONVERT_LONGVARCHAR
SQL_CONVERT_NUMERIC
SQL_CONVERT_REAL
SQL_CONVERT_SMALLINT
SQL_CONVERT_TIME
SQL_CONVERT_TIMESTAMP
SQL_CONVERT_TINYINT
SQL_CONVERT_VARBINARY
SQL_CONVERT_VARCHAR

Tipi di informazioni aggiunti per ODBC 3.x

Per ODBC 3.x sono stati aggiunti i valori seguenti dell'argomento InfoType:

SQL_ACTIVE_ENVIRONMENTS
SQL_AGGREGATE_FUNCTIONS
SQL_ALTER_DOMAIN
SQL_ALTER_SCHEMA
SQL_ANSI_SQL_DATETIME_LITERALS
SQL_ASYNC_DBC_FUNCTIONS
SQL_ASYNC_MODE
SQL_ASYNC_NOTIFICATION
SQL_BATCH_ROW_COUNT
SQL_BATCH_SUPPORT
SQL_CATALOG_NAME
SQL_COLLATION_SEQ
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_INTERVAL_YEAR_MONTH
SQL_CREATE_ASSERTION
SQL_CREATE_CHARACTER_SET
SQL_CREATE_COLLATION
SQL_CREATE_DOMAIN
SQL_CREATE_SCHEMA
SQL_CREATE_TABLE
SQL_CREATE_TRANSLATION
SQL_CURSOR_SENSITIVITY
SQL_DDL_INDEX
SQL_DESCRIBE_PARAMETER
SQL_DM_VER

SQL_DRIVER_AWARE_POOLING_SUPPORTED
SQL_DRIVER_HDESC
SQL_DROP_ASSERTION
SQL_DROP_CHARACTER_SET
SQL_DROP_COLLATION
SQL_DROP_DOMAIN
SQL_DROP_SCHEMA
SQL_DROP_TABLE
SQL_DROP_TRANSLATION
SQL_DROP_VIEW
SQL_DYNAMIC_CURSOR_ATTRIBUTES1
SQL_DYNAMIC_CURSOR_ATTRIBUTES2
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
SQL_INFO_SCHEMA_VIEWS
SQL_INSERT_STATEMENT
SQL_KEYSET_CURSOR_ATTRIBUTES1
SQL_KEYSET_CURSOR_ATTRIBUTES2
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
SQL_MAX_IDENTIFIER_LEN
SQL_PARAM_ARRAY_ROW_COUNTS
SQL_PARAM_ARRAY_SELECTS
SQL_STATIC_CURSOR_ATTRIBUTES1
SQL_STATIC_CURSOR_ATTRIBUTES2
SQL_XOPEN_CLI_YEAR

Tipi di informazioni rinominati per ODBC 3.x

I valori seguenti dell'argomento InfoType sono stati rinominati per ODBC 3.x.

Nome precedente Nuovo nome
SQL_ACTIVE_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
SQL_ACTIVE_STATEMENTS SQL_MAX_CONCURRENT_ACTIVITIES
SQL_MAX_OWNER_NAME_LEN SQL_MAX_SCHEMA_NAME_LEN
SQL_MAX_QUALIFIER_NAME_LEN SQL_MAX_CATALOG_NAME_LEN
SQL_ODBC_SQL_OPT_IEF SQL_INTEGRITY
SQL_OWNER_TERM SQL_SCHEMA_TERM
SQL_OWNER_USAGE SQL_SCHEMA_USAGE
SQL_QUALIFIER_LOCATION SQL_CATALOG_LOCATION
SQL_QUALIFIER_NAME_SEPARATOR SQL_CATALOG_NAME_SEPARATOR
SQL_QUALIFIER_TERM SQL_CATALOG_TERM
SQL_QUALIFIER_USAGE SQL_CATALOG_USAGE

Tipi di informazioni deprecati in ODBC 3.x

I valori seguenti dell'argomento InfoType sono stati deprecati in ODBC 3.x. I driver ODBC 3.x devono continuare a supportare questi tipi di informazioni per garantire la compatibilità con le versioni precedenti con le applicazioni ODBC 2.x. Per altre informazioni su questi tipi, vedere Supporto di SQLGetInfo nell'appendice G: Linee guida per i driver per la compatibilità con le versioni precedenti.

SQL_FETCH_DIRECTION
SQL_LOCK_TYPES
SQL_ODBC_API_CONFORMANCE
SQL_ODBC_SQL_CONFORMANCE

SQL_POS_OPERATIONS
SQL_POSITIONED_STATEMENTS
SQL_SCROLL_CONCURRENCY
SQL_STATIC_SENSITIVITY

Descrizioni dei tipi di informazioni

Nella tabella seguente sono elencati in ordine alfabetico ogni tipo di informazioni, la versione di ODBC in cui è stata introdotta e la relativa descrizione.

Information Type Versione ODBC Descrizione
SQL_ACCESSIBLE_PROCEDURES 1,0 Stringa di caratteri: "Y" se l'utente può eseguire tutte le procedure restituite da SQLProcedures; "N" se possono essere restituite procedure che l'utente non può eseguire.
SQL_ACCESSIBLE_TABLES 1,0 Stringa di caratteri: "Y" se all'utente sono garantiti privilegi SELECT per tutte le tabelle restituite da SQLTables; "N" se possono essere restituite tabelle a cui l'utente non può accedere.
SQL_ACTIVE_ENVIRONMENTS 3,0 Valore SQLUSMALLINT che specifica il numero massimo di ambienti attivi che il driver può supportare. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.
SQL_AGGREGATE_FUNCTIONS 3,0 Maschera di bit SQLUINTEGER che enumera il supporto per le funzioni di aggregazione:
SQL_AF_ALL
SQL_AF_AVG
SQL_AF_COUNT
SQL_AF_DISTINCT
SQL_AF_MAX
SQL_AF_MIN
SQL_AF_SUM

Un SQL-92 Entry level-conformant restituirà sempre tutte queste opzioni come supportato.
SQL_ALTER_DOMAIN 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione ALTER DOMAIN, come definito in SQL-92, supportato dall'origine dati. Un SQL-92 conforme al livello completo restituirà sempre tutte le maschera di bit. Il valore restituito "0" indica che l'istruzione ALTER DOMAIN non è supportata.

Il SQL di conformità FIPS o 92 o fips al quale deve essere supportata questa funzionalità viene visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_AD_ADD_DOMAIN_CONSTRAINT = L'aggiunta di un vincolo di dominio è supportata (livello completo)
SQL_AD_ADD_DOMAIN_DEFAULT = <alter domain> <set domain default clause> è supportato (livello completo)
SQL_AD_CONSTRAINT_NAME_DEFINITION = <constraint name definition clause> è supportato per il vincolo di denominazione del dominio (livello intermedio)
SQL_AD_DROP_DOMAIN_CONSTRAINT = <drop domain constraint clause> è supportato (livello completo)
SQL_AD_DROP_DOMAIN_DEFAULT = <alter domain> <drop domain default clause> è supportato (livello completo)

I bit seguenti specificano l'oggetto supportato <constraint attributes> se <add domain constraint> è supportato (il bit SQL_AD_ADD_DOMAIN_CONSTRAINT è impostato):
SQL_AD_ADD_CONSTRAINT_DEFERRABLE (livello completo)
SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE (livello completo)
SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED (livello completo)
SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE (livello completo)
SQL_ALTER_TABLE 2,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione ALTER TABLE supportata dall'origine dati.

Il SQL di conformità FIPS o 92 o fips al quale deve essere supportata questa funzionalità viene visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_AT_ADD_COLUMN_COLLATION la clausola = è supportata, con la possibilità di specificare regole di confronto di colonna <add column> (livello completo) (ODBC 3.0)
SQL_AT_ADD_COLUMN_DEFAULT = è supportata la clausola , con possibilità di specificare le impostazioni predefinite delle colonne (livello di transizione <add column> FIPS) (ODBC 3.0)
SQL_AT_ADD_COLUMN_SINGLE = <add column> è supportato (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_ADD_CONSTRAINT = è supportata la clausola , con possibilità di specificare vincoli di colonna (livello di transizione <add column> FIPS) (ODBC 3.0)
SQL_AT_ADD_TABLE_CONSTRAINT = <add table constraint> la clausola è supportata (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_CONSTRAINT_NAME_DEFINITION = è supportato per la denominazione dei vincoli di colonna e tabella <constraint name definition> (livello intermedio) (ODBC 3.0)
SQL_AT_DROP_COLUMN_CASCADE = <drop column> CASCADE è supportato (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_DROP_COLUMN_DEFAULT = <alter column> <drop column default clause> è supportato (livello intermedio) (ODBC 3.0)
SQL_AT_DROP_COLUMN_RESTRICT = RESTRICT è supportato (livello di transizione <drop column> FIPS) (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = RESTRICT è supportato (livello di transizione <drop column> FIPS) (ODBC 3.0)
SQL_AT_SET_COLUMN_DEFAULT = <alter column> <set column default clause> è supportato (livello intermedio) (ODBC 3.0)

I bit seguenti specificano il supporto se è supportata la specifica di vincoli di colonna o tabella (il bit SQL_AT_ADD_CONSTRAINT <constraint attributes> è impostato):
SQL_AT_CONSTRAINT_INITIALLY_DEFERRED (livello completo) (ODBC 3.0)
SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE (livello completo) (ODBC 3.0)
SQL_AT_CONSTRAINT_DEFERRABLE (livello completo) (ODBC 3.0)
SQL_AT_CONSTRAINT_NON_DEFERRABLE (livello completo) (ODBC 3.0)
SQL_ASYNC_DBC_FUNCTIONS 3.8 Valore SQLUINTEGER che indica se il driver può eseguire funzioni in modo asincrono sull'handle di connessione.

SQL_ASYNC_DBC_CAPABLE = Il driver può eseguire le funzioni di connessione in modo asincrono.
SQL_ASYNC_DBC_NOT_CAPABLE = Il driver non può eseguire le funzioni di connessione in modo asincrono.
SQL_ASYNC_MODE 3,0 Valore SQLUINTEGER che indica il livello di supporto asincrono nel driver:

SQL_AM_CONNECTION = è supportata l'esecuzione asincrona a livello di connessione. Tutti gli handle di istruzione associati a un handle di connessione specificato sono in modalità asincrona o tutti sono in modalità sincrona. Un handle di istruzione su una connessione non può essere in modalità asincrona mentre un altro handle di istruzione nella stessa connessione è in modalità sincrona e viceversa.
SQL_AM_STATEMENT = è supportata l'esecuzione asincrona a livello di istruzione. Alcuni handle di istruzione associati a un handle di connessione possono essere in modalità asincrona, mentre altri handle di istruzione nella stessa connessione sono in modalità sincrona.
SQL_AM_NONE = La modalità asincrona non è supportata.
SQL_ASYNC_NOTIFICATION 3.8 Valore SQLUINTEGER che indica se il driver supporta la notifica asincrona:

SQL_ASYNC_NOTIFICATION_CAPABLE = La notifica di esecuzione asincrona è supportata dal driver.
SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = La notifica di esecuzione asincrona non è supportata dal driver.

Esistono due categorie di operazioni asincrone ODBC: operazioni asincrone a livello di connessione e operazioni asincrone a livello di istruzione. Se un driver restituisce SQL_ASYNC_NOTIFICATION_CAPABLE, deve supportare la notifica per tutte le API che può essere eseguita in modo asincrono.
SQL_BATCH_ROW_COUNT 3,0 Maschera di bit SQLUINTEGER che enumera il comportamento del driver in relazione alla disponibilità dei conteggi delle righe. Le maschera di bit seguenti vengono usate insieme al tipo di informazioni:

SQL_BRC_ROLLED_UP = Viene eseguito il rollup dei conteggi delle righe per le istruzioni INSERT, DELETE o UPDATE consecutive. Se questo bit non è impostato, i conteggi delle righe sono disponibili per ogni istruzione.
SQL_BRC_PROCEDURES = I conteggi delle righe, se presenti, sono disponibili quando un batch viene eseguito in un stored procedure. Se sono disponibili conteggi di righe, è possibile eseguire il rollup o singolarmente, a seconda SQL_BRC_ROLLED_UP bit.
SQL_BRC_EXPLICIT = I conteggi delle righe, se presenti, sono disponibili quando un batch viene eseguito direttamente chiamando SQLExecute o SQLExecDirect. Se sono disponibili conteggi di righe, è possibile eseguire il rollup o singolarmente, a seconda SQL_BRC_ROLLED_UP bit.
SQL_BATCH_SUPPORT 3,0 Maschera di bit SQLUINTEGER che enumera il supporto del driver per i batch. Le maschera di bit seguenti vengono usate per determinare il livello supportato:

SQL_BS_SELECT_EXPLICIT = Il driver supporta batch espliciti che possono avere istruzioni di generazione del set di risultati.
SQL_BS_ROW_COUNT_EXPLICIT = Il driver supporta batch espliciti che possono avere istruzioni di generazione del conteggio delle righe.
SQL_BS_SELECT_PROC = Il driver supporta procedure esplicite che possono avere istruzioni di generazione del set di risultati.
SQL_BS_ROW_COUNT_PROC = Il driver supporta procedure esplicite che possono avere istruzioni di generazione del conteggio delle righe.
SQL_BOOKMARK_PERSISTENCE 2,0 Maschera di bit SQLUINTEGER che enumera le operazioni tramite cui i segnalibri vengono mantenuti. Le maschera di bit seguenti vengono usate insieme al flag per determinare tramite quali opzioni vengono mantenuti i segnalibri:

SQL_BP_CLOSE = I segnalibri sono validi dopo che un'applicazione chiama SQLFreeStmt con l'opzione SQL_CLOSE o SQLCloseCursor per chiudere il cursore associato a un'istruzione .
SQL_BP_DELETE = Il segnalibro per una riga è valido dopo l'eliminazione di tale riga.
SQL_BP_DROP = I segnalibri sono validi dopo che un'applicazione chiama SQLFreeHandle con HandleType SQL_HANDLE_STMT eliminare un'istruzione.
SQL_BP_TRANSACTION = I segnalibri sono validi dopo il commit o il rollback di una transazione da parte di un'applicazione.
SQL_BP_UPDATE = Il segnalibro per una riga è valido dopo l'aggiornamento di qualsiasi colonna in tale riga, incluse le colonne chiave.
SQL_BP_OTHER_HSTMT = Un segnalibro associato a un'istruzione può essere usato con un'altra istruzione. A SQL_BP_CLOSE o SQL_BP_DROP, il cursore sulla prima istruzione deve essere aperto.
SQL_CATALOG_LOCATION 2,0 Valore SQLUSMALLINT che indica la posizione del catalogo in un nome di tabella completo:

SQL_CL_START
SQL_CL_END
Ad esempio, un driver Xbase restituisce SQL_CL_START perché il nome della directory (catalogo) si trova all'inizio del nome della tabella, come in \EMPDATA\EMP. DBF. Un driver oracle Server restituisce SQL_CL_END perché il catalogo si trova alla fine del nome della tabella, come in ADMIN.EMP@EMPDATA .

Un driver SQL-92 Conforme al livello completo restituirà sempre SQL_CL_START. Se i cataloghi non sono supportati dall'origine dati, viene restituito il valore 0. Per determinare se i cataloghi sono supportati, un'applicazione chiama SQLGetInfo con il SQL_CATALOG_NAME di informazioni.

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_QUALIFIER_LOCATION.
SQL_CATALOG_NAME 3,0 Stringa di caratteri: "Y" se il server supporta i nomi di catalogo oppure "N" in caso contrario.

Un driver SQL-92 full-level-conformant restituirà sempre "Y".
SQL_CATALOG_NAME_SEPARATOR 1,0 Stringa di caratteri: carattere o caratteri definiti dall'origine dati come separatore tra il nome di un catalogo e l'elemento del nome completo che lo segue o lo precede.

Se i cataloghi non sono supportati dall'origine dati, viene restituita una stringa vuota. Per determinare se i cataloghi sono supportati, un'applicazione chiama SQLGetInfo con il SQL_CATALOG_NAME di informazioni. Un driver SQL-92 full-level-conformant restituirà sempre ".".

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_QUALIFIER_NAME_SEPARATOR.
SQL_CATALOG_TERM 1,0 Stringa di caratteri con il nome del fornitore dell'origine dati per un catalogo. ad esempio "database" o "directory". Questa stringa può essere in lettere maiuscole, minuscole o miste.

Se i cataloghi non sono supportati dall'origine dati, viene restituita una stringa vuota. Per determinare se i cataloghi sono supportati, un'applicazione chiama SQLGetInfo con il SQL_CATALOG_NAME di informazioni. Un driver SQL-92 full-level-conformant restituirà sempre "catalog".

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_QUALIFIER_TERM.
SQL_CATALOG_USAGE 2,0 Maschera di bit SQLUINTEGER che enumera le istruzioni in cui è possibile usare i cataloghi.

Le maschera di bit seguenti vengono usate per determinare dove è possibile usare i cataloghi:
SQL_CU_DML_STATEMENTS = I cataloghi sono supportati in tutte le istruzioni Data Manipulation Language: SELECT, INSERT, UPDATE, DELETE e, se supportato, SELECT FOR UPDATE e istruzioni di aggiornamento ed eliminazione posizionate.
SQL_CU_PROCEDURE_INVOCATION = I cataloghi sono supportati nell'istruzione di chiamata di routine ODBC.
SQL_CU_TABLE_DEFINITION = I cataloghi sono supportati in tutte le istruzioni di definizione della tabella: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE e DROP VIEW.
SQL_CU_INDEX_DEFINITION = I cataloghi sono supportati in tutte le istruzioni di definizione dell'indice: CREATE INDEX e DROP INDEX.
SQL_CU_PRIVILEGE_DEFINITION = I cataloghi sono supportati in tutte le istruzioni di definizione dei privilegi: GRANT e REVOKE.

Se i cataloghi non sono supportati dall'origine dati, viene restituito il valore 0. Per determinare se i cataloghi sono supportati, un'applicazione chiama SQLGetInfo con il SQL_CATALOG_NAME di informazioni. Un driver SQL-92 full-level-conformant restituirà sempre una maschera di bit con tutti questi bit impostati.

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_QUALIFIER_USAGE.
SQL_COLLATION_SEQ 3,0 Nome della sequenza di regole di confronto. Stringa di caratteri che indica il nome delle regole di confronto predefinite per il set di caratteri predefinito per questo server, ad esempio 'ISO 8859-1' o EBCDIC. Se questo valore è sconosciuto, verrà restituita una stringa vuota. Un driver SQL-92 full-level-conformant restituirà sempre una stringa non vuota.
SQL_COLUMN_ALIAS 2,0 Stringa di caratteri: "Y" se l'origine dati supporta gli alias di colonna; in caso contrario, "N".

Un alias di colonna è un nome alternativo che può essere specificato per una colonna nell'elenco di selezione tramite una clausola AS. Un driver SQL-92 Entry conforme al livello restituirà sempre "Y".
SQL_CONCAT_NULL_BEHAVIOR 1,0 Valore SQLUSMALLINT che indica il modo in cui l'origine dati gestisce la concatenazione di colonne con tipo di dati carattere con valori NULL con colonne con tipo di dati carattere non NULL:
SQL_CB_NULL = Il risultato ha valore NULL.
SQL_CB_NON_NULL = Il risultato è la concatenazione di colonne con valori non NULL.

Un driver SQL-92 Entry conforme al livello restituirà sempre SQL_CB_NULL.
SQL_CONVERT_BIGINT
SQL_CONVERT_BINARY
SQL_CONVERT_BIT
SQL_CONVERT_CHAR
SQL_CONVERT_GUID
SQL_CONVERT_DATE
SQL_CONVERT_DECIMAL
SQL_CONVERT_DOUBLE
SQL_CONVERT_FLOAT
SQL_CONVERT_INTEGER
SQL_CONVERT_INTERVAL_YEAR_MONTH
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_LONGVARBINARY
SQL_CONVERT_LONGVARCHAR
SQL_CONVERT_NUMERIC
SQL_CONVERT_REAL
SQL_CONVERT_SMALLINT
SQL_CONVERT_TIME
SQL_CONVERT_TIMESTAMP
SQL_CONVERT_TINYINT
SQL_CONVERT_VARBINARY
SQL_CONVERT_VARCHAR
1,0 Maschera di bit SQLUINTEGER. La maschera di bit indica le conversioni supportate dall'origine dati con la funzione scalare CONVERT per i dati del tipo denominato in InfoType. Se la maschera di bit è uguale a zero, l'origine dati non supporta alcuna conversione dai dati del tipo denominato, inclusa la conversione allo stesso tipo di dati.

Ad esempio, per determinare se un'origine dati supporta la conversione di dati SQL_INTEGER nel tipo di dati SQL_BIGINT, un'applicazione chiama SQLGetInfo con InfoType di SQL_CONVERT_INTEGER. L'applicazione esegue un'operazione AND con la maschera di bit restituita e SQL_CVT_BIGINT. Se il valore risultante è diverso da zero, la conversione è supportata.

Le maschera di bit seguenti vengono usate per determinare le conversioni supportate:
SQL_CVT_BIGINT (ODBC 1.0)
SQL_CVT_BINARY (ODBC 1.0)
SQL_CVT_BIT (ODBC 1.0)
SQL_CVT_GUID (ODBC 3.5)
SQL_CVT_CHAR (ODBC 1.0)
SQL_CVT_DATE (ODBC 1.0)
SQL_CVT_DECIMAL (ODBC 1.0)
SQL_CVT_DOUBLE (ODBC 1.0)
SQL_CVT_FLOAT (ODBC 1.0)
SQL_CVT_INTEGER (ODBC 1.0)
SQL_CVT_INTERVAL_YEAR_MONTH (ODBC 3.0)
SQL_CVT_INTERVAL_DAY_TIME (ODBC 3.0)
SQL_CVT_LONGVARBINARY (ODBC 1.0)
SQL_CVT_LONGVARCHAR (ODBC 1.0)
SQL_CVT_NUMERIC (ODBC 1.0)
SQL_CVT_REAL (ODBC 1.0)
SQL_CVT_SMALLINT (ODBC 1.0)
SQL_CVT_TIME (ODBC 1.0)
SQL_CVT_TIMESTAMP (ODBC 1.0)
SQL_CVT_TINYINT (ODBC 1.0)
SQL_CVT_VARBINARY (ODBC 1.0)
SQL_CVT_VARCHAR (ODBC 1.0)
SQL_CONVERT_FUNCTIONS 1,0 Maschera di bit SQLUINTEGER che enumera le funzioni di conversione scalare supportate dal driver e dall'origine dati associata.

La maschera di bit seguente viene usata per determinare le funzioni di conversione supportate:
SQL_FN_CVT_CASTSQL_FN_CVT_CONVERT
SQL_CORRELATION_NAME 1,0 Valore SQLUSMALLINT che indica se i nomi di correlazione delle tabelle sono supportati:
SQL_CN_NONE = I nomi di correlazione non sono supportati.
SQL_CN_DIFFERENT = I nomi di correlazione sono supportati, ma devono differire dai nomi delle tabelle rappresentate.
SQL_CN_ANY = I nomi di correlazione sono supportati e possono essere qualsiasi nome definito dall'utente valido.

Un SQL-92 Entry conforme al livello restituirà sempre SQL_CN_ANY.
SQL_CREATE_ASSERTION 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE ASSERTION, come definito in SQL-92, supportato dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_CA_CREATE_ASSERTION

I bit seguenti specificano l'attributo di vincolo supportato se è supportata la possibilità di specificare gli attributi del vincolo in modo esplicito (vedere i SQL_ALTER_TABLE e SQL_CREATE_TABLE tipi di informazioni):
SQL_CA_CONSTRAINT_INITIALLY_DEFERRED
SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE
SQL_CA_CONSTRAINT_DEFERRABLE
SQL_CA_CONSTRAINT_NON_DEFERRABLE

Un SQL-92 con livello completo restituirà sempre tutte queste opzioni come supportato. Il valore restituito "0" indica che l'istruzione CREATE ASSERTION non è supportata.
SQL_CREATE_CHARACTER_SET 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE CHARACTER SET, come definito in SQL-92, supportato dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_CCS_CREATE_CHARACTER_SET
SQL_CCS_COLLATE_CLAUSE
SQL_CCS_LIMITED_COLLATION

Un SQL-92 con livello completo restituirà sempre tutte queste opzioni come supportato. Il valore restituito "0" indica che l'istruzione CREATE CHARACTER SET non è supportata.
SQL_CREATE_COLLATION 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE COLLATION, come definito in SQL-92, supportato dall'origine dati.

La maschera di bit seguente viene usata per determinare le clausole supportate:
SQL_CCOL_CREATE_COLLATION

Un SQL-92 con livello completo restituirà sempre questa opzione come supportato. Il valore restituito "0" indica che l'istruzione CREATE COLLATION non è supportata.
SQL_CREATE_DOMAIN 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE DOMAIN, come definito in SQL-92, supportato dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_CDO_CREATE_DOMAIN = L'istruzione CREATE DOMAIN è supportata (livello intermedio).
SQL_CDO_CONSTRAINT_NAME_DEFINITION = <constraint name definition> è supportato per i vincoli di denominazione del dominio (livello intermedio).

I bit seguenti specificano la possibilità di creare vincoli di colonna:
SQL_CDO_DEFAULT = La specifica dei vincoli di dominio è supportata (livello intermedio)
SQL_CDO_CONSTRAINT = La specifica delle impostazioni predefinite del dominio è supportata (livello intermedio)
SQL_CDO_COLLATION = La specifica delle regole di confronto del dominio è supportata (livello completo)

I bit seguenti specificano gli attributi di vincolo supportati se è supportata la specifica di vincoli di dominio (SQL_CDO_DEFAULT è impostato):
SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED (livello completo)
SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE (livello completo)
SQL_CDO_CONSTRAINT_DEFERRABLE (livello completo)
SQL_CDO_CONSTRAINT_NON_DEFERRABLE (livello completo)

Il valore restituito "0" indica che l'istruzione CREATE DOMAIN non è supportata.
SQL_CREATE_SCHEMA 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE SCHEMA, come definito in SQL-92, supportato dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_CS_CREATE_SCHEMA
SQL_CS_AUTHORIZATION
SQL_CS_DEFAULT_CHARACTER_SET

Un driver SQL-92 Livello intermedio conforme restituirà sempre le opzioni SQL_CS_CREATE_SCHEMA e SQL_CS_AUTHORIZATION supportate. Questi devono essere supportati anche a livello SQL-92 Entry, ma non necessariamente come istruzioni SQL istruzioni . Un driver SQL-92 full-level-conformant restituirà sempre tutte queste opzioni come supportato.
SQL_CREATE_TABLE 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE TABLE, come definito in SQL-92, supportata dall'origine dati.

Il SQL di conformità 92 o FIPS in cui deve essere supportata questa funzionalità è visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare quali clausole sono supportate:
SQL_CT_CREATE_TABLE = l'CREATE TABLE è supportata. (Livello di ingresso)
SQL_CT_TABLE_CONSTRAINT = La specifica dei vincoli di tabella è supportata (livello transizione FIPS)
SQL_CT_CONSTRAINT_NAME_DEFINITION = La <constraint name definition> clausola è supportata per la denominazione dei vincoli di colonna e tabella (livello intermedio)

I bit seguenti specificano la possibilità di creare tabelle temporanee:
SQL_CT_COMMIT_PRESERVE = Le righe eliminate vengono mantenute al commit. (Livello completo)
SQL_CT_COMMIT_DELETE = Le righe eliminate vengono eliminate al commit. (Livello completo)
SQL_CT_GLOBAL_TEMPORARY = È possibile creare tabelle temporanee globali. (Livello completo)
SQL_CT_LOCAL_TEMPORARY = È possibile creare tabelle temporanee locali. (Livello completo)

I bit seguenti specificano la possibilità di creare vincoli di colonna:
SQL_CT_COLUMN_CONSTRAINT = La specifica di vincoli di colonna è supportata (livello transizione FIPS)
SQL_CT_COLUMN_DEFAULT = La specifica dei valori predefiniti delle colonne è supportata (livello transizione FIPS)
SQL_CT_COLUMN_COLLATION = La specifica delle regole di confronto delle colonne è supportata (livello completo)

I bit seguenti specificano gli attributi di vincolo supportati se è supportata la specifica di vincoli di colonna o di tabella:
SQL_CT_CONSTRAINT_INITIALLY_DEFERRED (livello completo)
SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE (livello completo)
SQL_CT_CONSTRAINT_DEFERRABLE (livello completo)
SQL_CT_CONSTRAINT_NON_DEFERRABLE (livello completo)
SQL_CREATE_TRANSLATION 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE TRANSLATION, come definito in SQL-92, supportata dall'origine dati.

La maschera di bit seguente viene usata per determinare le clausole supportate:
SQL_CTR_CREATE_TRANSLATION

Un driver SQL-92 con conformità al livello completo restituirà sempre queste opzioni come supportate. Il valore restituito "0" indica che l'istruzione CREATE TRANSLATION non è supportata.
SQL_CREATE_VIEW 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE VIEW, come definito in SQL-92, supportata dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare quali clausole sono supportate:
SQL_CV_CREATE_VIEW
SQL_CV_CHECK_OPTION
SQL_CV_CASCADED
SQL_CV_LOCAL

Il valore restituito "0" indica che l'istruzione CREATE VIEW non è supportata.

Un driver SQL-92 Entry conforme al livello restituirà sempre le opzioni SQL_CV_CREATE_VIEW e SQL_CV_CHECK_OPTION supportate.

Un driver SQL-92 full-level-conformant restituirà sempre tutte queste opzioni come supportato.
SQL_CURSOR_COMMIT_BEHAVIOR 1,0 Valore SQLUSMALLINT che indica in che modo un'operazione COMMIT influisce sui cursori e sulle istruzioni preparate nell'origine dati (il comportamento dell'origine dati quando si esegue il commit di una transazione).

Il valore di questo attributo rifletterà lo stato corrente dell'impostazione successiva: SQL_COPT_SS_PRESERVE_CURSORS.
SQL_CB_DELETE = Chiudere i cursori ed eliminare le istruzioni preparate. Per usare nuovamente il cursore, l'applicazione deve riprepare ed eseguire nuovamente l'istruzione.
SQL_CB_CLOSE = Cursori di chiusura. Per le istruzioni preparate, l'applicazione può chiamare SQLExecute sull'istruzione senza chiamare di nuovo SQLPrepare. Il valore predefinito per il driver ODBC SQL è SQL_CB_CLOSE. Ciò significa che il SQL ODBC chiuderà i cursori quando si esegue il commit di una transazione.
SQL_CB_PRESERVE = Mantiene i cursori nella stessa posizione di prima dell'operazione COMMIT. L'applicazione può continuare a recuperare i dati oppure può chiudere il cursore ed eseguire nuovamente l'istruzione senza prepararla.
SQL_CURSOR_ROLLBACK_BEHAVIOR 1,0 Valore SQLUSMALLINT che indica in che modo un'operazione ROLLBACK influisce sui cursori e sulle istruzioni preparate nell'origine dati:
SQL_CB_DELETE = Chiudere i cursori ed eliminare le istruzioni preparate. Per usare nuovamente il cursore, l'applicazione deve riprepare ed eseguire nuovamente l'istruzione.
SQL_CB_CLOSE = Cursori di chiusura. Per le istruzioni preparate, l'applicazione può chiamare SQLExecute sull'istruzione senza chiamare di nuovo SQLPrepare.
SQL_CB_PRESERVE = Mantiene i cursori nella stessa posizione di prima dell'operazione ROLLBACK. L'applicazione può continuare a recuperare i dati oppure può chiudere il cursore ed eseguire nuovamente l'istruzione senza prepararla.
SQL_CURSOR_SENSITIVITY 3,0 Valore SQLUINTEGER che indica il supporto per la sensibilità del cursore:
SQL_INSENSITIVE = Tutti i cursori nell'handle di istruzione mostrano il set di risultati senza riflettere le modifiche apportate da qualsiasi altro cursore all'interno della stessa transazione.
SQL_UNSPECIFIED = Non è specificato se i cursori nell'handle di istruzione rendono visibili le modifiche apportate a un set di risultati da un altro cursore all'interno della stessa transazione. I cursori nell'handle di istruzione possono rendere visibili nessuna, alcune o tutte queste modifiche.
SQL_SENSITIVE = I cursori sono sensibili alle modifiche apportate da altri cursori all'interno della stessa transazione.

Un driver SQL-92 Entry conforme al livello restituirà sempre l'opzione SQL_UNSPECIFIED come supportato.

Un driver SQL-92 Conforme al livello completo restituirà sempre l'opzione SQL_INSENSITIVE come supportato.
SQL_DATA_SOURCE_NAME 1,0 Stringa di caratteri con il nome dell'origine dati utilizzato durante la connessione. Se l'applicazione ha chiamato SQLConnect, questo è il valore dell'argomento szDSN. Se l'applicazione ha chiamato SQLDriverConnect o SQLBrowseConnect, questo è il valore della parola chiave DSN nella stringa di connessione passata al driver. Se la stringa di connessione non contiene la parola chiave DSN ,ad esempio quando contiene la parola chiave DRIVER, si tratta di una stringa vuota.
SQL_DATA_SOURCE_READ_ONLY 1,0 Stringa di caratteri. "Y" se l'origine dati è impostata sulla modalità SOLA LETTURA, "N" in caso contrario.

Questa caratteristica riguarda solo l'origine dati stessa. non è una caratteristica del driver che consente l'accesso all'origine dati. Un driver di lettura/scrittura può essere utilizzato con un'origine dati di sola lettura. Se un driver è di sola lettura, tutte le relative origini dati devono essere di sola lettura e devono restituire SQL_DATA_SOURCE_READ_ONLY.
SQL_DATABASE_NAME 1,0 Stringa di caratteri con il nome del database corrente in uso, se l'origine dati definisce un oggetto denominato denominato "database".

In ODBC 3.x il valore restituito per questo InfoType può essere restituito anche chiamando SQLGetConnectAttr con un argomento Attribute di SQL_ATTR_CURRENT_CATALOG.
SQL_DATETIME_LITERALS 3,0 Maschera di bit SQLUINTEGER che enumera i valori SQL-92 valori letterali datetime supportati dall'origine dati. Si noti che si tratta dei valori letterali datetime elencati nella specifica SQL-92 e sono separati dalle clausole di escape dei valori letterali datetime definite da ODBC. Per altre informazioni sulle clausole di escape dei valori letterali datetime ODBC, vedere Valori letterali data,ora e timestamp.

Un driver conforme al livello di transizione FIPS restituirà sempre il valore "1" nella maschera di bit per i bit nell'elenco seguente. Il valore "0" indica che SQL-92 valori letterali datetime non sono supportati.

Le maschera di bit seguenti vengono usate per determinare quali valori letterali sono supportati:
SQL_DL_SQL92_DATE
SQL_DL_SQL92_TIME
SQL_DL_SQL92_TIMESTAMP
SQL_DL_SQL92_INTERVAL_YEAR
SQL_DL_SQL92_INTERVAL_MONTH
SQL_DL_SQL92_INTERVAL_DAY
SQL_DL_SQL92_INTERVAL_HOUR
SQL_DL_SQL92_INTERVAL_MINUTE
SQL_DL_SQL92_INTERVAL_SECOND
SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH
SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR
SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE
SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND
SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE
SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND
SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND
SQL_DBMS_NAME 1,0 Stringa di caratteri con il nome del prodotto DBMS a cui accede il driver.
SQL_DBMS_VER 1,0 Stringa di caratteri che indica la versione del prodotto DBMS a cui accede il driver. La versione è nel formato ##.#.####, dove le prime due cifre sono la versione principale, le due cifre seguenti sono la versione secondaria e le ultime quattro cifre sono la versione di rilascio. Il driver deve eseguire il rendering della versione del prodotto DBMS in questo formato, ma può anche aggiungere la versione specifica del prodotto DBMS. Ad esempio, "04.01.0000 Rdb 4.1".
SQL_DDL_INDEX 3,0 Valore SQLUINTEGER che indica il supporto per la creazione e l'eliminazione di indici:
SQL_DI_CREATE_INDEX
SQL_DI_DROP_INDEX
SQL_DEFAULT_TXN_ISOLATION 1,0 Valore SQLUINTEGER che indica il livello di isolamento della transazione predefinito supportato dal driver o dall'origine dati oppure zero se l'origine dati non supporta le transazioni. I termini seguenti vengono usati per definire i livelli di isolamento delle transazioni:
Lettura dirty La transazione 1 modifica una riga. La transazione 2 legge la riga modificata prima che la transazione 1 eserciti il commit della modifica. Se la transazione 1 esegue il rollback della modifica, la transazione 2 leggerà una riga considerata non mai esistente.
Lettura non ripetibile La transazione 1 legge una riga. La transazione 2 aggiorna o elimina la riga ed esegue il commit della modifica. Se la transazione 1 tenta di rileggere la riga, riceverà valori di riga diversi o scoprirà che la riga è stata eliminata.
Fantasma La transazione 1 legge un set di righe che soddisfano alcuni criteri di ricerca. La transazione 2 genera una o più righe (tramite inserimenti o aggiornamenti) che corrispondono ai criteri di ricerca. Se la transazione 1 esegue nuovamente l'istruzione che legge le righe, riceve un set di righe diverso.

Se l'origine dati supporta le transazioni, il driver restituisce una delle maschera di bit seguenti:
SQL_TXN_READ_UNCOMMITTED = Sono possibili letture dirty, letture non ripetibili e fantasma.
SQL_TXN_READ_COMMITTED = Le operazioni di lettura dirty non sono possibili. Sono possibili letture e fantasma non ripetibili.
SQL_TXN_REPEATABLE_READ = Le operazioni di lettura dirty e non ripetibili non sono possibili. I fantasma sono possibili.
SQL_TXN_SERIALIZABLE = Le transazioni sono serializzabili. Le transazioni serializzabili non consentono letture dirty, letture non ripetibili o fantasma.
SQL_DESCRIBE_PARAMETER 3,0 Stringa di caratteri: "Y" se i parametri possono essere descritti; "N", in caso contrario.

Un SQL-92 con livello completo restituirà in genere "Y" perché supporterà l'istruzione DESCRIBE INPUT. Poiché questo non specifica direttamente il supporto SQL sottostante, tuttavia, la descrizione dei parametri potrebbe non essere supportata, anche in un driver conforme al livello completo SQL-92.
SQL_DM_VER 3,0 Stringa di caratteri con la versione di Gestione driver. La versione ha il formato ##.##.###.###.####, dove:
Il primo set di due cifre è la versione principale di ODBC, come specificato dalla costante SQL_SPEC_MAJOR.
Il secondo set di due cifre è la versione secondaria di ODBC, come specificato dalla costante SQL_SPEC_MINOR.
Il terzo set di quattro cifre è il numero di build principale di Gestione driver.
L'ultimo set di quattro cifre è il numero di build secondario di Gestione driver.
La Windows 7 Driver Manager è 03.80. La Windows 8 Driver Manager è 03.81.
SQL_DRIVER_AWARE_POOLING_SUPPORTED 3.8 Valore SQLUINTEGER che indica se il driver supporta il pooling in grado di riconoscere i driver. Per altre informazioni, vedere Pool di connessioni in grado di riconoscere i driver.

SQL_DRIVER_AWARE_POOLING_CAPABLE indica che il driver può supportare il meccanismo di pooling in grado di riconoscere i driver.
SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE indica che il driver non può supportare il meccanismo di pooling in grado di riconoscere i driver.

Un driver non deve implementare SQL_DRIVER_AWARE_POOLING_SUPPORTED e Gestione driver non rispetta il valore restituito del driver.
SQL_DRIVER_HDBCSQL_DRIVER_HENV 1,0 Valore SQLULEN, handle di ambiente del driver o handle di connessione, determinato dall'argomento InfoType.

Questi tipi di informazioni vengono implementati solo da Gestione driver.
SQL_DRIVER_HDESC 3,0 Valore SQLULEN, l'handle descrittore del driver determinato dall'handle del descrittore di Gestione driver, che deve essere passato all'input in * InfoValuePtr dall'applicazione. In questo caso, InfoValuePtr è sia un argomento di input che di output. L'handle del descrittore di input passato in InfoValuePtr deve essere stato allocato in modo esplicito o * implicito in ConnectionHandle.

L'applicazione deve creare una copia dell'handle del descrittore di Gestione driver prima di eseguire la chiamata a SQLGetInfo con questo tipo di informazioni, per assicurarsi che l'handle non venga sovrascritto nell'output.

Questo tipo di informazioni viene implementato solo da Gestione driver.
SQL_DRIVER_HLIB 2,0 Valore SQLULEN, l'hinst della libreria di caricamento restituito a Gestione driver quando ha caricato la DLL del driver in un sistema operativo Microsoft Windows o il relativo equivalente in un altro sistema operativo. L'handle è valido solo per l'handle di connessione specificato nella chiamata a SQLGetInfo.

Questo tipo di informazioni viene implementato solo da Gestione driver.
SQL_DRIVER_HSTMT 1,0 Un valore SQLULEN, l'handle di istruzione del driver determinato dall'handle di istruzione di Gestione driver, che deve essere passato all'input in * InfoValuePtr dall'applicazione. In questo caso, InfoValuePtr è sia un argomento di input che un argomento di output. L'handle di istruzione di input passato in * InfoValuePtr deve essere stato allocato nell'argomento ConnectionHandle.

L'applicazione deve creare una copia dell'handle di istruzione di Gestione driver prima di eseguire la chiamata a SQLGetInfo con questo tipo di informazioni, per assicurarsi che l'handle non venga sovrascritto nell'output.

Questo tipo di informazioni viene implementato solo da Gestione driver.
SQL_DRIVER_NAME 1,0 Stringa di caratteri con il nome file del driver utilizzato per accedere all'origine dati.
SQL_DRIVER_ODBC_VER 2,0 Stringa di caratteri con la versione di ODBC supportata dal driver. La versione è nel formato ##.##, dove le prime due cifre sono la versione principale e le due cifre seguenti sono la versione secondaria. SQL_SPEC_MAJOR e SQL_SPEC_MINOR definire i numeri di versione principale e secondaria. Per la versione di ODBC descritta in questo manuale, sono 3 e 0 e il driver deve restituire "03.00".

Gestione driver ODBC non modificherà il valore restituito di SQLGetInfo(SQL_DRIVER_ODBC_VER) per mantenere la compatibilità con le versioni precedenti per le applicazioni esistenti. Il driver specifica quale valore verrà restituito. Tuttavia, un driver che supporta l'estendibilità del tipo di dati C deve restituire 3.8 (o versione successiva) quando un'applicazione chiama SQLSetEnvAttr per impostare SQL_ATTR_ODBC_VERSION su 3.8. Per altre informazioni, vedere Tipi di dati C in ODBC.
SQL_DRIVER_VER 1,0 Stringa di caratteri con la versione del driver e, facoltativamente, una descrizione del driver. Come minimo, la versione è nel formato ##.#.#####, dove le prime due cifre sono la versione principale, le due cifre seguenti sono la versione secondaria e le ultime quattro cifre sono la versione di rilascio.
SQL_DROP_ASSERTION 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione DROP ASSERTION, come definito in SQL-92, supportato dall'origine dati.

La maschera di bit seguente viene usata per determinare le clausole supportate:
SQL_DA_DROP_ASSERTION

Un SQL-92 con livello completo restituirà sempre questa opzione come supportato.
SQL_DROP_CHARACTER_SET 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione DROP CHARACTER SET, come definito in SQL-92, supportato dall'origine dati.

La maschera di bit seguente viene usata per determinare le clausole supportate:
SQL_DCS_DROP_CHARACTER_SET

Un SQL-92 con livello completo restituirà sempre questa opzione come supportato.
SQL_DROP_COLLATION 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione DROP COLLATION, come definito in SQL-92, supportato dall'origine dati.

La maschera di bit seguente viene usata per determinare le clausole supportate:
SQL_DC_DROP_COLLATION

Un SQL-92 con livello completo restituirà sempre questa opzione come supportato.
SQL_DROP_DOMAIN 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione DROP DOMAIN, come definito in SQL-92, supportato dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_DD_DROP_DOMAIN
SQL_DD_CASCADE
SQL_DD_RESTRICT

Un SQL-92 Intermediate level-conformant restituirà sempre tutte queste opzioni come supportato.
SQL_DROP_SCHEMA 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione DROP SCHEMA, come definito in SQL-92, supportato dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_DS_DROP_SCHEMA
SQL_DS_CASCADE
SQL_DS_RESTRICT

Un SQL-92 Intermediate level-conformant restituirà sempre tutte queste opzioni come supportato.
SQL_DROP_TABLE 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione DROP TABLE, come definito in SQL-92, supportato dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_DT_DROP_TABLE
SQL_DT_CASCADE
SQL_DT_RESTRICT

Un driver conforme al livello di transizione FIPS restituirà sempre tutte queste opzioni come supportate.
SQL_DROP_TRANSLATION 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione DROP TRANSLATION, come definito in SQL-92, supportato dall'origine dati.

La maschera di bit seguente viene usata per determinare le clausole supportate:
SQL_DTR_DROP_TRANSLATION

Un SQL-92 con livello completo restituirà sempre questa opzione come supportato.
SQL_DROP_VIEW 3,0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione DROP VIEW, come definito in SQL-92, supportato dall'origine dati.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate:
SQL_DV_DROP_VIEW
SQL_DV_CASCADE
SQL_DV_RESTRICT

Un driver conforme al livello di transizione FIPS restituirà sempre tutte queste opzioni come supportate.
SQL_DYNAMIC_CURSOR_ATTRIBUTES1 3,0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore dinamico supportati dal driver. Questa maschera di bit contiene il primo subset di attributi. per il secondo subset, vedere SQL_DYNAMIC_CURSOR_ATTRIBUTES2.

Le maschera di bit seguenti vengono usate per determinare quali attributi sono supportati:
SQL_CA1_NEXT = Un argomento FetchOrientation di SQL_FETCH_NEXT è supportato in una chiamata a SQLFetchScroll quando il cursore è un cursore dinamico.
SQL_CA1_ABSOLUTE = Gli argomenti FetchOrientation di SQL_FETCH_FIRST, SQL_FETCH_LAST e SQL_FETCH_ABSOLUTE sono supportati in una chiamata a SQLFetchScroll quando il cursore è un cursore dinamico. Il set di righe che verrà recuperato è indipendente dalla posizione corrente del cursore.
SQL_CA1_RELATIVE = Gli argomenti FetchOrientation SQL_FETCH_PRIOR e SQL_FETCH_RELATIVE sono supportati in una chiamata a SQLFetchScroll quando il cursore è un cursore dinamico. Il set di righe che verrà recuperato dipende dalla posizione corrente del cursore. Si noti che questo è separato da SQL_FETCH_NEXT perché in un cursore forward-only è supportato solo SQL_FETCH_NEXT.)
SQL_CA1_BOOKMARK = Un argomento FetchOrientation di SQL_FETCH_BOOKMARK è supportato in una chiamata a SQLFetchScroll quando il cursore è un cursore dinamico.
SQL_CA1_LOCK_EXCLUSIVE = un argomento LockType SQL_LOCK_EXCLUSIVE è supportato in una chiamata a SQLSetPos quando il cursore è un cursore dinamico.
SQL_CA1_LOCK_NO_CHANGE = un argomento LockType SQL_LOCK_NO_CHANGE è supportato in una chiamata a SQLSetPos quando il cursore è un cursore dinamico.
SQL_CA1_LOCK_UNLOCK = un argomento LockType di SQL_LOCK_UNLOCK è supportato in una chiamata a SQLSetPos quando il cursore è un cursore dinamico.
SQL_CA1_POS_POSITION = un argomento Operation di SQL_POSITION è supportato in una chiamata a SQLSetPos quando il cursore è un cursore dinamico.
SQL_CA1_POS_UPDATE = un argomento Operation di SQL_UPDATE è supportato in una chiamata a SQLSetPos quando il cursore è un cursore dinamico.
SQL_CA1_POS_DELETE = un argomento Operation di SQL_DELETE è supportato in una chiamata a SQLSetPos quando il cursore è un cursore dinamico.
SQL_CA1_POS_REFRESH = un argomento Operation di SQL_REFRESH è supportato in una chiamata a SQLSetPos quando il cursore è un cursore dinamico.
SQL_CA1_POSITIONED_UPDATE = un'istruzione UPDATE WHERE CURRENT OF SQL è supportata quando il cursore è un cursore dinamico. Un driver SQL-92 Entry level-conformant restituirà sempre questa opzione come supportato.
SQL_CA1_POSITIONED_DELETE = un'istruzione DELETE WHERE CURRENT OF SQL è supportata quando il cursore è un cursore dinamico. Un driver SQL-92 Entry level-conformant restituirà sempre questa opzione come supportato.
SQL_CA1_SELECT_FOR_UPDATE = un'istruzione SELECT FOR UPDATE SQL è supportata quando il cursore è un cursore dinamico. Un driver SQL-92 Entry level-conformant restituirà sempre questa opzione come supportato.
SQL_CA1_BULK_ADD = un argomento Operation SQL_ADD è supportato in una chiamata a SQLBulkOperations quando il cursore è un cursore dinamico.
SQL_CA1_BULK_UPDATE_BY_BOOKMARK = un argomento Operation di SQL_UPDATE_BY_BOOKMARK è supportato in una chiamata a SQLBulkOperations quando il cursore è un cursore dinamico.
SQL_CA1_BULK_DELETE_BY_BOOKMARK = un argomento Operation di SQL_DELETE_BY_BOOKMARK è supportato in una chiamata a SQLBulkOperations quando il cursore è un cursore dinamico.
SQL_CA1_BULK_FETCH_BY_BOOKMARK = Un argomento Operation di SQL_FETCH_BY_BOOKMARK è supportato in una chiamata a SQLBulkOperations quando il cursore è un cursore dinamico.

Un driver conforme al livello intermedio SQL-92 restituirà in genere le opzioni SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE supportate, perché supporta cursori scorrevoli nell'istruzione FETCH SQL incorporata. Poiché ciò non determina direttamente il supporto SQL sottostante, tuttavia, i cursori scorrevoli potrebbero non essere supportati, anche per un driver conforme al livello intermedio SQL-92.
SQL_DYNAMIC_CURSOR_ATTRIBUTES2 3,0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore dinamico supportati dal driver. Questa maschera di bit contiene il secondo subset di attributi. per il primo subset, vedere SQL_DYNAMIC_CURSOR_ATTRIBUTES1.

Le maschera di bit seguenti vengono usate per determinare quali attributi sono supportati:
SQL_CA2_READ_ONLY_CONCURRENCY = è supportato un cursore dinamico di sola lettura, in cui non sono consentiti aggiornamenti. L'attributo SQL_ATTR_CONCURRENCY'istruzione può essere SQL_CONCUR_READ_ONLY per un cursore dinamico.
SQL_CA2_LOCK_CONCURRENCY = Cursore dinamico che utilizza il livello di blocco più basso sufficiente per assicurarsi che la riga possa essere aggiornata sia supportata. L'attributo SQL_ATTR_CONCURRENCY'istruzione può essere SQL_CONCUR_LOCK per un cursore dinamico. Questi blocchi devono essere coerenti con il livello di isolamento della transazione impostato dall'SQL_ATTR_TXN_ISOLATION di connessione.
SQL_CA2_OPT_ROWVER_CONCURRENCY = è supportato un cursore dinamico che usa il controllo della concorrenza ottimistica che confronta le versioni di riga. L'attributo SQL_ATTR_CONCURRENCY'istruzione può essere SQL_CONCUR_ROWVER per un cursore dinamico.
SQL_CA2_OPT_VALUES_CONCURRENCY = è supportato un cursore dinamico che usa il controllo della concorrenza ottimistica che confronta i valori. L'attributo SQL_ATTR_CONCURRENCY'istruzione può essere SQL_CONCUR_VALUES per un cursore dinamico.
SQL_CA2_SENSITIVITY_ADDITIONS = Le righe aggiunte sono visibili a un cursore dinamico. il cursore può scorrere fino a tali righe. La posizione in cui queste righe vengono aggiunte al cursore dipende dal driver.
SQL_CA2_SENSITIVITY_DELETIONS = Le righe eliminate non sono più disponibili per un cursore dinamico e non lasciano un "foro" nel set di risultati; Dopo lo scorrimento da una riga eliminata, il cursore dinamico non può tornare a tale riga.
SQL_CA2_SENSITIVITY_UPDATES = Gli aggiornamenti alle righe sono visibili a un cursore dinamico; Se il cursore dinamico scorre da e torna a una riga aggiornata, i dati restituiti dal cursore sono i dati aggiornati, non i dati originali.
SQL_CA2_MAX_ROWS_SELECT = L'attributo SQL_ATTR_MAX_ROWS'istruzione ha effetto sulle istruzioni SELECT quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_INSERT = L'attributo SQL_ATTR_MAX_ROWS'istruzione ha effetto sulle istruzioni INSERT quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_DELETE = L'attributo SQL_ATTR_MAX_ROWS'istruzione ha effetto sulle istruzioni DELETE quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_UPDATE = L'attributo SQL_ATTR_MAX_ROWS'istruzione update influisce sulle istruzioni UPDATE quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_CATALOG = L'attributo SQL_ATTR_MAX_ROWS'istruzione ha effetto sui set di risultati CATALOG quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_AFFECTS_ALL = L'attributo dell'istruzione SQL_ATTR_MAX_ROWS influisce sulle istruzioni SELECT, INSERT, DELETE e UPDATE e sui set di risultati CATALOG, quando il cursore è un cursore dinamico.
SQL_CA2_CRC_EXACT = Il conteggio esatto delle righe è disponibile nel campo di diagnostica SQL_DIAG_CURSOR_ROW_COUNT quando il cursore è un cursore dinamico.
SQL_CA2_CRC_APPROXIMATE = Un conteggio approssimativo delle righe è disponibile nel campo di diagnostica SQL_DIAG_CURSOR_ROW_COUNT quando il cursore è un cursore dinamico.
SQL_CA2_SIMULATE_NON_UNIQUE = Il driver non garantisce che le istruzioni di aggiornamento o eliminazione posizionate simulate influiranno su una sola riga quando il cursore è un cursore dinamico. è responsabilità dell'applicazione garantirlo. Se un'istruzione interessa più di una riga, SQLExecute o SQLExecDirect restituisce SQLSTATE 01001 [Conflitto di operazioni del cursore].) Per impostare questo comportamento, l'applicazione chiama SQLSetStmtAttr con l'attributo SQL_ATTR_SIMULATE_CURSOR impostato su SQL_SC_NON_UNIQUE.
SQL_CA2_SIMULATE_TRY_UNIQUE = Il driver tenta di garantire che le istruzioni di aggiornamento o eliminazione posizionate simulate influiranno su una sola riga quando il cursore è un cursore dinamico. Il driver esegue sempre tali istruzioni, anche se potrebbero influire su più di una riga, ad esempio quando non esiste una chiave univoca. Se un'istruzione interessa più di una riga, SQLExecute o SQLExecDirect restituisce SQLSTATE 01001 [Conflitto di operazioni del cursore].) Per impostare questo comportamento, l'applicazione chiama SQLSetStmtAttr con l'attributo SQL_ATTR_SIMULATE_CURSOR impostato su SQL_SC_TRY_UNIQUE.
SQL_CA2_SIMULATE_UNIQUE = Il driver garantisce che le istruzioni di aggiornamento o eliminazione posizionate simulate influiranno su una sola riga quando il cursore è un cursore dinamico. Se il driver non è in grado di garantire questa operazione per una determinata istruzione, SQLExecDirect o SQLPrepare restituisce SQLSTATE 01001 (conflitto di operazioni del cursore). Per impostare questo comportamento, l'applicazione chiama SQLSetStmtAttr con l'attributo SQL_ATTR_SIMULATE_CURSOR impostato su SQL_SC_UNIQUE.
SQL_EXPRESSIONS_IN_ORDERBY 1,0 Stringa di caratteri: "Y" se l'origine dati supporta espressioni nell'elenco ORDER BY. "N" in caso di errore.
SQL_FILE_USAGE 2,0 Valore SQLUSMALLINT che indica il modo in cui un driver a livello singolo tratta direttamente i file in un'origine dati:
SQL_FILE_NOT_SUPPORTED = Il driver non è un driver a livello singolo. Ad esempio, un driver ORACLE è un driver a due livelli.
SQL_FILE_TABLE = Un driver a livello singolo considera i file in un'origine dati come tabelle. Ad esempio, un driver Xbase considera ogni file Xbase come una tabella.
SQL_FILE_CATALOG = Un driver a livello singolo considera i file in un'origine dati come catalogo. Ad esempio, un driver di Microsoft Access considera ogni file di Microsoft Access come un database completo.

Un'applicazione potrebbe usare questo valore per determinare come gli utenti selezioneranno i dati. Gli utenti di Xbase, ad esempio, spesso pensano ai dati archiviati in file, mentre gli utenti di ORACLE e Microsoft Access in genere la pensa come archiviati nelle tabelle.

Quando un utente seleziona un'origine dati Xbase, l'applicazione potrebbe visualizzare la finestra Windows di dialogo comune Apri file. Quando l'utente seleziona un'origine dati Microsoft Access o ORACLE, l'applicazione potrebbe visualizzare una finestra di dialogo Seleziona tabella personalizzata.
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 3,0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore forward-only supportati dal driver. Questa maschera di bit contiene il primo subset di attributi. per il secondo subset, vedere SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2.

Le maschera di bit seguenti vengono usate per determinare quali attributi sono supportati:
SQL_CA1_NEXT
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

Per le descrizioni di queste maschera di bit, vedere SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (e sostituire "cursore forward-only" con "cursore dinamico" nelle descrizioni).
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 3,0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore forward-only supportati dal driver. Questa maschera di bit contiene il secondo subset di attributi. Per il primo subset, vedere SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1.

Le maschera di bit seguenti vengono usate per determinare quali attributi sono supportati:
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

Per le descrizioni di queste maschera di bit, vedere SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (e sostituire "cursore forward-only" con "cursore dinamico" nelle descrizioni).
SQL_GETDATA_EXTENSIONS 2,0 Maschera di bit SQLUINTEGER che enumera le estensioni a SQLGetData.

Le maschera di bit seguenti vengono usate insieme al flag per determinare le estensioni comuni supportate dal driver per SQLGetData:
SQL_GD_ANY_COLUMN = SQLGetData può essere chiamato per qualsiasi colonna non associata, incluse quelle precedenti all'ultima colonna associata. Si noti che le colonne devono essere chiamate in ordine di numero di colonna crescente, a meno SQL_GD_ANY_ORDER viene restituito anche .
SQL_GD_ANY_ORDER = SQLGetData può essere chiamato per le colonne non associate in qualsiasi ordine. Si noti che SQLGetData può essere chiamato solo per le colonne dopo l'ultima colonna associata, a meno SQL_GD_ANY_COLUMN non venga restituito anche sql.
SQL_GD_BLOCK = SQLGetData può essere chiamato per una colonna non associata in qualsiasi riga di un blocco (in cui le dimensioni del set di righe sono maggiori di 1) dei dati dopo il posizionamento in tale riga con SQLSetPos.
SQL_GD_BOUND = SQLGetData può essere chiamato per le colonne associate oltre alle colonne non associate. Un driver non può restituire questo valore a meno che non restituisca SQL_GD_ANY_COLUMN.
SQL_GD_OUTPUT_PARAMS = SQLGetData può essere chiamato per restituire i valori dei parametri di output. Per altre informazioni, vedere Recupero di parametri di output tramite SQLGetData.

SQLGetData è necessario per restituire dati solo da colonne non associate che si verificano dopo l'ultima colonna associata, vengono chiamati in ordine di aumento del numero di colonna e non si trova in una riga in un blocco di righe.

Se un driver supporta segnalibri (a lunghezza fissa o a lunghezza variabile), deve supportare la chiamata a SQLGetData nella colonna 0. Questo supporto è necessario indipendentemente da ciò che il driver restituisce per una chiamata a SQLGetInfo con SQL_GETDATA_EXTENSIONS InfoType.
SQL_GROUP_BY 2,0 Valore SQLUSMALLINT che specifica la relazione tra le colonne nella clausola GROUP BY e le colonne non associate nell'elenco di selezione:
SQL_GB_COLLATE = È possibile specificare una clausola COLLATE alla fine di ogni colonna di raggruppamento. (ODBC 3.0)
SQL_GB_NOT_SUPPORTED = le clausole GROUP BY non sono supportate. (ODBC 2.0)
SQL_GB_GROUP_BY_EQUALS_SELECT = La clausola GROUP BY deve contenere tutte le colonne non associate nell'elenco di selezione. Non può contenere altre colonne. Ad esempio, SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT. (ODBC 2.0)
SQL_GB_GROUP_BY_CONTAINS_SELECT = La clausola GROUP BY deve contenere tutte le colonne non associate nell'elenco di selezione. Può contenere colonne non presenti nell'elenco di selezione. Ad esempio, SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)
SQL_GB_NO_RELATION = Le colonne nella clausola GROUP BY e nell'elenco di selezione non sono correlate. Il significato delle colonne non raggruppate e non raggruppate nell'elenco di selezione dipende dall'origine dati. Ad esempio, SELECT DEPT, SALARY FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)

Un SQL-92 Entry level-conformant restituirà sempre l'opzione SQL_GB_GROUP_BY_EQUALS_SELECT supportata. Un SQL-92 con livello completo restituirà sempre l'opzione SQL_GB_COLLATE come supportato. Se nessuna delle opzioni è supportata, la clausola GROUP BY non è supportata dall'origine dati.
SQL_IDENTIFIER_CASE 1,0 Un valore SQLUSMALLINT come segue:
SQL_IC_UPPER = Gli identificatori in SQL non sono con distinzione tra maiuscole e minuscole e vengono archiviati in lettere maiuscole nel catalogo di sistema.
SQL_IC_LOWER = Gli identificatori in SQL non sono con distinzione tra maiuscole e minuscole e vengono archiviati in lettere minuscole nel catalogo di sistema.
SQL_IC_SENSITIVE = Gli identificatori in SQL distinzione tra maiuscole e minuscole e vengono archiviati in maiuscole/minuscole miste nel catalogo di sistema.
SQL_IC_MIXED = Gli identificatori in SQL non sono con distinzione tra maiuscole e minuscole e vengono archiviati in maiuscole/minuscole miste nel catalogo di sistema.

Poiché negli identificatori di SQL-92 non viene mai fatto distinzione tra maiuscole e minuscole, un driver conforme esclusivamente a SQL-92 (qualsiasi livello) non restituirà mai l'opzione SQL_IC_SENSITIVE come supportato.
SQL_IDENTIFIER_QUOTE_CHAR 1,0 Stringa di caratteri utilizzata come delimitatore iniziale e finale di un identificatore tra virgolette (delimitato) SQL istruzioni. Gli identificatori passati come argomenti alle funzioni ODBC non devono essere racchiusi tra virgolette. Se l'origine dati non supporta gli identificatori tra virgolette, viene restituito un valore vuoto.

Questa stringa di caratteri può essere usata anche per la citazione di argomenti della funzione di catalogo quando l'attributo di connessione SQL_ATTR_METADATA_ID è impostato su SQL_TRUE.

Poiché il carattere di virgolette dell'identificatore in SQL-92 è la virgoletta doppia ("), un driver conforme esclusivamente a SQL-92 restituirà sempre il carattere virgolette doppie.
SQL_INDEX_KEYWORDS 3,0 Maschera di bit SQLUINTEGER che enumera le parole chiave nell'istruzione CREATE INDEX supportate dal driver:
SQL_IK_NONE = Nessuna delle parole chiave è supportata.
SQL_IK_ASC = la parola chiave ASC è supportata.
SQL_IK_DESC = la parola chiave DESC è supportata.
SQL_IK_ALL = Tutte le parole chiave sono supportate.

Per verificare se l'istruzione CREATE INDEX è supportata, un'applicazione chiama SQLGetInfo con il SQL_DLL_INDEX di informazioni.
SQL_INFO_SCHEMA_VIEWS 3,0 Maschera di bit SQLUINTEGER che enumera le viste nel INFORMATION_SCHEMA supportate dal driver. Le visualizzazioni in e il contenuto di INFORMATION_SCHEMA sono definiti in SQL-92.

Il SQL di conformità FIPS o 92 o fips al quale deve essere supportata questa funzionalità viene visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare le visualizzazioni supportate:
SQL_ISV_ASSERTIONS = Identifica le asserzioni del catalogo di proprietà di un determinato utente. (livello completo)
SQL_ISV_CHARACTER_SETS = Identifica i set di caratteri del catalogo accessibili da un determinato utente. (livello intermedio)
SQL_ISV_CHECK_CONSTRAINTS = Identifica i vincoli CHECK di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_COLLATIONS = Identifica le regole di confronto dei caratteri per il catalogo a cui un determinato utente può accedere. (livello completo)
SQL_ISV_COLUMN_DOMAIN_USAGE = Identifica le colonne per il catalogo che dipendono dai domini definiti nel catalogo e sono di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_COLUMN_PRIVILEGES = Identifica i privilegi per le colonne di tabelle persistenti disponibili o concesse da un determinato utente. (livello di transizione FIPS)
SQL_ISV_COLUMNS = Identifica le colonne di tabelle persistenti accessibili da un determinato utente. (livello di transizione FIPS)
SQL_ISV_CONSTRAINT_COLUMN_USAGE = analogamente CONSTRAINT_TABLE_USAGE, le colonne vengono identificate per i vari vincoli di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_CONSTRAINT_TABLE_USAGE = Identifica le tabelle usate dai vincoli (referenziali, univoche e asserzioni) e di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_DOMAIN_CONSTRAINTS = Identifica i vincoli di dominio (dei domini nel catalogo) accessibili da un determinato utente. (livello intermedio)
SQL_ISV_DOMAINS = Identifica i domini definiti in un catalogo a cui l'utente può accedere. (livello intermedio)
SQL_ISV_KEY_COLUMN_USAGE = Identifica le colonne definite nel catalogo vincolate come chiavi da un determinato utente. (livello intermedio)
SQL_ISV_REFERENTIAL_CONSTRAINTS = Identifica i vincoli referenziali di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_SCHEMATA = Identifica gli schemi di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_SQL_LANGUAGES = identifica i SQL di conformità, le opzioni e i dialetti supportati dall'implementazione SQL. (livello intermedio)
SQL_ISV_TABLE_CONSTRAINTS = Identifica i vincoli di tabella di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_TABLE_PRIVILEGES = Identifica i privilegi per le tabelle persistenti disponibili o concesse da un determinato utente. (livello di transizione FIPS)
SQL_ISV_TABLES = Identifica le tabelle persistenti definite in un catalogo accessibili da un determinato utente. (livello di transizione FIPS)
SQL_ISV_TRANSLATIONS = Identifica le traduzioni di caratteri per il catalogo accessibili da un determinato utente. (livello completo)
SQL_ISV_USAGE_PRIVILEGES = Identifica i privilegi USAGE per gli oggetti del catalogo disponibili o di proprietà di un determinato utente. (livello di transizione FIPS)
SQL_ISV_VIEW_COLUMN_USAGE = Identifica le colonne da cui dipendono le viste del catalogo di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_VIEW_TABLE_USAGE = Identifica le tabelle da cui dipendono le viste del catalogo di proprietà di un determinato utente. (livello intermedio)
SQL_ISV_VIEWS = Identifica le tabelle visualizzate definite in questo catalogo accessibili da un determinato utente. (livello di transizione FIPS)
SQL_INSERT_STATEMENT 3,0 Maschera di bit SQLUINTEGER che indica il supporto per le istruzioni INSERT:
SQL_IS_INSERT_LITERALS
SQL_IS_INSERT_SEARCHED
SQL_IS_SELECT_INTO

Un SQL-92 Entry level-conformant restituirà sempre tutte queste opzioni come supportato.
SQL_INTEGRITY 1,0 Stringa di caratteri: "Y" se l'origine dati supporta la funzionalità di miglioramento dell'integrità; "N" in caso di errore.

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_ODBC_SQL_OPT_IEF DI ODBC 2.0.
SQL_KEYSET_CURSOR_ATTRIBUTES1 3,0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore keyset supportati dal driver. Questa maschera di bit contiene il primo subset di attributi. per il secondo subset, vedere SQL_KEYSET_CURSOR_ATTRIBUTES2.

Le maschera di bit seguenti vengono usate per determinare quali attributi sono supportati:
SQL_CA1_NEXT
SQL_CA1_ABSOLUTE
SQL_CA1_RELATIVE
SQL_CA1_BOOKMARK
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

Per le descrizioni di queste maschera di bit, vedere SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (e sostituire "cursore basato su keyset" con "cursore dinamico" nelle descrizioni).

Un driver conforme al livello intermedio SQL-92 restituirà in genere le opzioni SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE supportate, perché il driver supporta cursori scorrevoli attraverso l'istruzione FETCH SQL incorporata. Poiché questo non determina direttamente il supporto SQL sottostante, tuttavia, i cursori scorrevoli potrebbero non essere supportati, anche per un driver conforme al livello intermedio SQL-92.
SQL_KEYSET_CURSOR_ATTRIBUTES2 3,0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore keyset supportati dal driver. Questa maschera di bit contiene il secondo subset di attributi. per il primo subset, vedere SQL_KEYSET_CURSOR_ATTRIBUTES1.

Le maschera di bit seguenti vengono usate per determinare quali attributi sono supportati:
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

Per le descrizioni di queste maschera di bit, vedere SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (e sostituire "cursore basato su keyset" con "cursore dinamico" nelle descrizioni).
SQL_KEYWORDS 2,0 Stringa di caratteri che contiene un elenco delimitato da virgole di tutte le parole chiave specifiche dell'origine dati. Questo elenco non contiene parole chiave specifiche di ODBC o parole chiave usate sia dall'origine dati che da ODBC. Questo elenco rappresenta tutte le parole chiave riservate. Le applicazioni interoperativi non devono usare queste parole nei nomi di oggetto.

Per un elenco di parole chiave ODBC, vedere Parole chiave riservate nell'appendice C: SQL grammatica. Il #define valore SQL_ODBC_KEYWORDS contiene un elenco delimitato da virgole di parole chiave ODBC.
SQL_LIKE_ESCAPE_CLAUSE 2,0 Stringa di caratteri: "Y" se l'origine dati supporta un carattere di escape per il carattere percentuale (%) e il carattere di sottolineatura (_) in un predicato LIKE e il driver supporta la sintassi ODBC per la definizione di un carattere di escape del predicato LIKE. "N" in caso contrario.
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 3,0 Valore SQLUINTEGER che specifica il numero massimo di istruzioni simultanee attive in modalità asincrona che il driver può supportare in una determinata connessione. Se non è presente alcun limite specifico o il limite è sconosciuto, questo valore è zero.
SQL_MAX_BINARY_LITERAL_LEN 2,0 Valore SQLUINTEGER che specifica la lunghezza massima (numero di caratteri esadecimali, esclusi il prefisso letterale e il suffisso restituiti da SQLGetTypeInfo) di un valore letterale binario in un'istruzione SQL. Ad esempio, il valore letterale binario 0xFFAA ha una lunghezza pari a 4. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.
SQL_MAX_CATALOG_NAME_LEN 1,0 Valore SQLUSMALLINT che specifica la lunghezza massima di un nome di catalogo nell'origine dati. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.

Un driver fips conforme al livello completo restituirà almeno 128.

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_MAX_QUALIFIER_NAME_LEN DI ODBC 2.0.
SQL_MAX_CHAR_LITERAL_LEN 2,0 Valore SQLUINTEGER che specifica la lunghezza massima (numero di caratteri, esclusi il prefisso letterale e il suffisso restituito da SQLGetTypeInfo) di un valore letterale carattere in un'istruzione SQL. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.
SQL_MAX_COLUMN_NAME_LEN 1,0 Valore SQLUSMALLINT che specifica la lunghezza massima di un nome di colonna nell'origine dati. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 18. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 128.
SQL_MAX_COLUMNS_IN_GROUP_BY 2,0 Valore SQLUSMALLINT che specifica il numero massimo di colonne consentite in una clausola GROUP BY. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 6. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 15.
SQL_MAX_COLUMNS_IN_INDEX 2,0 Valore SQLUSMALLINT che specifica il numero massimo di colonne consentite in un indice. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.
SQL_MAX_COLUMNS_IN_ORDER_BY 2,0 Valore SQLUSMALLINT che specifica il numero massimo di colonne consentite in una clausola ORDER BY. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 6. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 15.
SQL_MAX_COLUMNS_IN_SELECT 2,0 Valore SQLUSMALLINT che specifica il numero massimo di colonne consentite in un elenco di selezione. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 100. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 250.
SQL_MAX_COLUMNS_IN_TABLE 2,0 Valore SQLUSMALLINT che specifica il numero massimo di colonne consentite in una tabella. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 100. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 250.
SQL_MAX_CONCURRENT_ACTIVITIES 1,0 Valore SQLUSMALLINT che specifica il numero massimo di istruzioni attive che il driver può supportare per una connessione. Un'istruzione viene definita attiva se contiene risultati in sospeso, con il termine "risultati" che indica le righe di un'operazione SELECT o le righe interessate da un'operazione INSERT, UPDATE o DELETE (ad esempio un conteggio delle righe) o se si trova in uno stato NEED_DATA. Questo valore può riflettere una limitazione imposta dal driver o dall'origine dati. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_ACTIVE_STATEMENTS DI ODBC 2.0.
SQL_MAX_CURSOR_NAME_LEN 1,0 Valore SQLUSMALLINT che specifica la lunghezza massima di un nome di cursore nell'origine dati. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 18. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 128.
SQL_MAX_DRIVER_CONNECTIONS 1,0 Valore SQLUSMALLINT che specifica il numero massimo di connessioni attive che il driver può supportare per un ambiente. Questo valore può riflettere una limitazione imposta dal driver o dall'origine dati. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_ACTIVE_CONNECTIONS DI ODBC 2.0.
SQL_MAX_IDENTIFIER_LEN 3,0 Oggetto SQLUSMALLINT che indica le dimensioni massime in caratteri supportate dall'origine dati per i nomi definiti dall'utente.

Un driver conforme al livello FIPS Entry restituirà almeno 18. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 128.
SQL_MAX_INDEX_SIZE 2,0 Valore SQLUINTEGER che specifica il numero massimo di byte consentiti nei campi combinati di un indice. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.
SQL_MAX_PROCEDURE_NAME_LEN 1,0 Valore SQLUSMALLINT che specifica la lunghezza massima di un nome di routine nell'origine dati. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.
SQL_MAX_ROW_SIZE 2,0 Valore SQLUINTEGER che specifica la lunghezza massima di una singola riga in una tabella. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 2.000. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 8.000.
SQL_MAX_ROW_SIZE_INCLUDES_LONG 3,0 Stringa di caratteri: "Y" se le dimensioni massime delle righe restituite per il tipo di informazioni SQL_MAX_ROW_SIZE includono la lunghezza di tutte le colonne SQL_LONGVARCHAR e SQL_LONGVARBINARY nella riga; "N" in caso contrario.
SQL_MAX_SCHEMA_NAME_LEN 1,0 Valore SQLUSMALLINT che specifica la lunghezza massima di un nome di schema nell'origine dati. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 18. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 128.

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_MAX_OWNER_NAME_LEN DI ODBC 2.0.
SQL_MAX_STATEMENT_LEN 2,0 Valore SQLUINTEGER che specifica la lunghezza massima (numero di caratteri, inclusi gli spazi vuoti) di un'istruzione SQL. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.
SQL_MAX_TABLE_NAME_LEN 1,0 Valore SQLUSMALLINT che specifica la lunghezza massima di un nome di tabella nell'origine dati. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 18. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 128.
SQL_MAX_TABLES_IN_SELECT 2,0 Valore SQLUSMALLINT che specifica il numero massimo di tabelle consentite nella clausola FROM di un'istruzione SELECT. Se non è specificato alcun limite o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello FIPS Entry restituirà almeno 15. Un driver conforme al livello INTERMEDIO FIPS restituirà almeno 50.
SQL_MAX_USER_NAME_LEN 2,0 Valore SQLUSMALLINT che specifica la lunghezza massima di un nome utente nell'origine dati. Se non è presente alcuna lunghezza massima o la lunghezza è sconosciuta, questo valore viene impostato su zero.
SQL_MULT_RESULT_SETS 1,0 Stringa di caratteri: "Y" se l'origine dati supporta più set di risultati, "N" in caso contrario.

Per altre informazioni su più set di risultati, vedere Multiple Results.
SQL_MULTIPLE_ACTIVE_TXN 1,0 Stringa di caratteri: "Y" se il driver supporta più di una transazione attiva contemporaneamente, "N" se può essere attiva una sola transazione in qualsiasi momento.

Le informazioni restituite per questo tipo di informazioni non si applicano nel caso di transazioni distribuite.
SQL_NEED_LONG_DATA_LEN 2,0 Stringa di caratteri: "Y" se l'origine dati richiede la lunghezza di un valore di dati long (il tipo di dati è SQL_LONGVARCHAR, SQL_LONGVARBINARY o un tipo di dati long specifico dell'origine dati) prima che tale valore venga inviato all'origine dati, in caso contrario "N". Per altre informazioni, vedere Funzione SQLBindParameter e Funzione SQLSetPos.
SQL_NON_NULLABLE_COLUMNS 1,0 Valore SQLUSMALLINT che specifica se l'origine dati supporta NOT NULL nelle colonne:
SQL_NNC_NULL = Tutte le colonne devono essere nullable.
SQL_NNC_NON_NULL = Le colonne non possono essere nullable. L'origine dati supporta il vincolo di colonna NOT NULL CREATE TABLE istruzioni .

Un driver SQL-92 Entry conforme al livello restituirà SQL_NNC_NON_NULL.
SQL_NULL_COLLATION 2,0 Valore SQLUSMALLINT che specifica dove vengono ordinati i valori NULL in un set di risultati:
SQL_NC_END = i valori NULL vengono ordinati alla fine del set di risultati, indipendentemente dalle parole chiave ASC o DESC.
SQL_NC_HIGH = i valori NULL vengono ordinati all'estremità superiore del set di risultati, a seconda delle parole chiave ASC o DESC.
SQL_NC_LOW = i valori NULL vengono ordinati all'estremità più bassa del set di risultati, a seconda delle parole chiave ASC o DESC.
SQL_NC_START = i valori NULL vengono ordinati all'inizio del set di risultati, indipendentemente dalle parole chiave ASC o DESC.
SQL_NUMERIC_FUNCTIONS 1,0 Nota: il tipo di informazioni è stato introdotto in ODBC 1.0; Ogni maschera di bit è etichettata con la versione in cui è stata introdotta.

Maschera di bit SQLUINTEGER che enumera le funzioni numeriche scalari supportate dal driver e dall'origine dati associata.

Le maschera di bit seguenti vengono usate per determinare quali funzioni numeriche sono supportate:
SQL_FN_NUM_ABS (ODBC 1.0)
SQL_FN_NUM_ACOS (ODBC 1.0)
SQL_FN_NUM_ASIN (ODBC 1.0)
SQL_FN_NUM_ATAN (ODBC 1.0)
SQL_FN_NUM_ATAN2 (ODBC 1.0)
SQL_FN_NUM_CEILING (ODBC 1.0)
SQL_FN_NUM_COS (ODBC 1.0)
SQL_FN_NUM_COT (ODBC 1.0)
SQL_FN_NUM_DEGREES (ODBC 2.0)
SQL_FN_NUM_EXP (ODBC 1.0)
SQL_FN_NUM_FLOOR (ODBC 1.0)
SQL_FN_NUM_LOG (ODBC 1.0)
SQL_FN_NUM_LOG10 (ODBC 2.0)
SQL_FN_NUM_MOD (ODBC 1.0)
SQL_FN_NUM_PI (ODBC 1.0)
SQL_FN_NUM_POWER (ODBC 2.0)
SQL_FN_NUM_RADIANS (ODBC 2.0)
SQL_FN_NUM_RAND (ODBC 1.0)
SQL_FN_NUM_ROUND (ODBC 2.0)
SQL_FN_NUM_SIGN (ODBC 1.0)
SQL_FN_NUM_SIN (ODBC 1.0)
SQL_FN_NUM_SQRT (ODBC 1.0)
SQL_FN_NUM_TAN (ODBC 1.0)
SQL_FN_NUM_TRUNCATE (ODBC 2.0)
SQL_ODBC_INTERFACE_CONFORMANCE 3,0 Valore SQLUINTEGER che indica il livello dell'interfaccia ODBC 3 .x conforme al driver.

SQL_OIC_CORE: livello minimo di conformità previsto per tutti i driver ODBC. Questo livello include elementi di interfaccia di base, ad esempio funzioni di connessione, funzioni per la preparazione ed esecuzione di un'istruzione SQL, funzioni di metadati del set di risultati di base, funzioni di catalogo di base e così via.
SQL_OIC_LEVEL1: livello che include la funzionalità del livello di conformità degli standard di base, oltre a cursori scorrevoli, segnalibri, aggiornamenti ed eliminazioni posizionati e così via.
SQL_OIC_LEVEL2: un livello che include la funzionalità del livello di conformità agli standard di livello 1, oltre a funzionalità avanzate come i cursori sensibili; aggiornare, eliminare e aggiornare in base ai segnalibri; stored procedure supporto tecnico; funzioni di catalogo per chiavi primarie ed esterne; supporto di più cataloghi; E così via.

Per altre informazioni, vedere Livelli di conformità dell'interfaccia.
SQL_ODBC_VER 1,0 Stringa di caratteri con la versione di ODBC a cui è conforme Gestione driver. La versione è nel formato ##.##.0000, dove le prime due cifre sono la versione principale e le due cifre seguenti sono la versione secondaria. Questa operazione viene implementata solo in Gestione driver.
SQL_OJ_CAPABILITIES 2.01 Maschera di bit SQLUINTEGER che enumera i tipi di outer join supportati dal driver e dall'origine dati. Le maschera di bit seguenti vengono usate per determinare quali tipi sono supportati:
SQL_OJ_LEFT = Sono supportati left outer join.
SQL_OJ_RIGHT = Sono supportati right outer join.
SQL_OJ_FULL = Sono supportati full outer join.
SQL_OJ_NESTED = Sono supportati outer join annidati.
SQL_OJ_NOT_ORDERED = I nomi di colonna nella clausola ON del outer join non devono essere nello stesso ordine dei rispettivi nomi di tabella nella clausola OUTER JOIN.
SQL_OJ_INNER = La tabella interna (la tabella a destra in un left outer join o la tabella sinistra in un right outer join) può essere usata anche in un inner join. Questo non si applica full outer join, che non dispongono di una tabella interna.
SQL_OJ_ALL_COMPARISON_OPS = L'operatore di confronto nella clausola ON può essere uno degli operatori di confronto ODBC. Se questo bit non è impostato, negli outer join è possibile usare solo l'operatore di confronto uguale a (=).

Se nessuna di queste opzioni viene restituita come supportata, non outer join è supportata alcuna clausola .

Per informazioni sul supporto degli operatori join relazionali in un'istruzione SELECT, come definito da SQL-92, vedere SQL_SQL92_RELATIONAL_JOIN_OPERATORS.
SQL_ORDER_BY_COLUMNS_IN_SELECT 2,0 Stringa di caratteri: "Y" se le colonne nella clausola ORDER BY devono essere presenti nell'elenco di selezione; in caso contrario, "N".
SQL_PARAM_ARRAY_ROW_COUNTS 3,0 Oggetto SQLUINTEGER che enumera le proprietà del driver relative alla disponibilità dei conteggi delle righe in un'esecuzione con parametri. Ha i valori seguenti:
SQL_PARC_BATCH = Sono disponibili singoli conteggi delle righe per ogni set di parametri. Concettualmente è equivalente al driver che genera un batch di istruzioni SQL, una per ogni parametro impostato nella matrice. Le informazioni estese sull'errore possono essere recuperate usando il SQL_PARAM_STATUS_PTR descrittore di errore.
SQL_PARC_NO_BATCH = È disponibile un solo conteggio delle righe, ovvero il conteggio cumulativo delle righe risultante dall'esecuzione dell'istruzione per l'intera matrice di parametri. Concettualmente equivale a considerare l'istruzione insieme alla matrice di parametri completa come un'unità atomica. Gli errori vengono gestiti come se fosse stata eseguita un'istruzione.
SQL_PARAM_ARRAY_SELECTS 3,0 Oggetto SQLUINTEGER che enumera le proprietà del driver relative alla disponibilità dei set di risultati in un'esecuzione con parametri. Ha i valori seguenti:
SQL_PAS_BATCH = È disponibile un set di risultati per ogni set di parametri. Questo è concettualmente equivalente al driver che genera un batch di istruzioni SQL, una per ogni set di parametri nella matrice.
SQL_PAS_NO_BATCH = È disponibile un solo set di risultati, che rappresenta il set di risultati cumulativo risultante dall'esecuzione dell'istruzione per la matrice completa di parametri. Ciò equivale concettualmente a considerare l'istruzione insieme alla matrice di parametri completa come un'unica unità atomica.
SQL_PAS_NO_SELECT = Un driver non consente l'esecuzione di un'istruzione di generazione del set di risultati con una matrice di parametri.
SQL_POS_OPERATIONS 2,0 Maschera di bit SQLINTEGER che enumera le operazioni di supporto in SQLSetPos.

Le maschera di bit seguenti vengono usate insieme al flag per determinare le opzioni 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_PROCEDURE_TERM 1,0 Stringa di caratteri con il nome del fornitore dell'origine dati per una procedura. ad esempio "database procedure", "stored procedure", "procedure", "package" o "stored query".
SQL_PROCEDURES 1,0 Stringa di caratteri: "Y" se l'origine dati supporta le procedure e il driver supporta la sintassi di chiamata di routine ODBC. "N" in caso contrario.
SQL_QUOTED_IDENTIFIER_CASE 2,0 Un valore SQLUSMALLINT come segue:
SQL_IC_UPPER = Gli identificatori tra virgolette SQL non sono con distinzione tra maiuscole e minuscole e vengono archiviati in lettere maiuscole nel catalogo di sistema.
SQL_IC_LOWER = Gli identificatori tra virgolette SQL non sono con distinzione tra maiuscole e minuscole e vengono archiviati in lettere minuscole nel catalogo di sistema.
SQL_IC_SENSITIVE = Gli identificatori tra virgolette SQL distinzione tra maiuscole e minuscole e vengono archiviati in maiuscole/minuscole miste nel catalogo di sistema. In un database conforme SQL 92 gli identificatori tra virgolette sono sempre con distinzione tra maiuscole e minuscole.
SQL_IC_MIXED = Gli identificatori tra virgolette SQL non sono con distinzione tra maiuscole e minuscole e vengono archiviati in lettere maiuscole/minuscole miste nel catalogo di sistema.

Un SQL-92 Entry conforme al livello restituirà sempre SQL_IC_SENSITIVE.
SQL_ROW_UPDATES 1,0 Stringa di caratteri: "Y" se un cursore basato su keyset o misto mantiene le versioni o i valori di riga per tutte le righe recuperate e pertanto può rilevare gli aggiornamenti apportati a una riga da qualsiasi utente dall'ultimo recupero della riga. Questo vale solo per gli aggiornamenti, non per le eliminazioni o gli inserimenti. Il driver può restituire il flag SQL_ROW_UPDATED alla matrice di stato della riga quando viene chiamato SQLFetchScroll. In caso contrario, "N".
SQL_SCHEMA_TERM 1,0 Stringa di caratteri con il nome del fornitore dell'origine dati per uno schema. ad esempio "owner", "AUTHORIZATION ID" o "Schema".

La stringa di caratteri può essere restituita in lettere maiuscole, minuscole o miste.

Un SQL-92 Entry level-conformant restituirà sempre "schema".

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_OWNER_TERM DI ODBC 2.0.
SQL_SCHEMA_USAGE 2,0 Maschera di bit SQLUINTEGER che enumera le istruzioni in cui è possibile usare gli schemi:
SQL_SU_DML_STATEMENTS = Gli schemi sono supportati in tutte le istruzioni DATA Manipulation Language: SELECT, INSERT, UPDATE, DELETE e, se supportate, select for UPDATE e istruzioni di aggiornamento ed eliminazione posizionate.
SQL_SU_PROCEDURE_INVOCATION = Gli schemi sono supportati nell'istruzione di chiamata di routine ODBC.
SQL_SU_TABLE_DEFINITION = Gli schemi sono supportati in tutte le istruzioni di definizione della tabella: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE e DROP VIEW.
SQL_SU_INDEX_DEFINITION = Gli schemi sono supportati in tutte le istruzioni di definizione dell'indice: CREATE INDEX e DROP INDEX.
SQL_SU_PRIVILEGE_DEFINITION = Gli schemi sono supportati in tutte le istruzioni di definizione dei privilegi: GRANT e REVOKE.

Un driver SQL-92 Entry conforme al livello entry restituirà sempre le opzioni SQL_SU_DML_STATEMENTS, SQL_SU_TABLE_DEFINITION e SQL_SU_PRIVILEGE_DEFINITION, come supportato.

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_OWNER_USAGE DI ODBC 2.0.
SQL_SCROLL_OPTIONS 1,0 Nota: il tipo di informazioni è stato introdotto in ODBC 1.0. Ogni maschera di bit è etichettata con la versione in cui è stata introdotta.

Maschera di bit SQLUINTEGER che enumera le opzioni di scorrimento supportate per i cursori scorrevoli.

Le maschera di bit seguenti vengono usate per determinare le opzioni supportate:
SQL_SO_FORWARD_ONLY = Il cursore scorre solo in avanti. (ODBC 1.0)
SQL_SO_STATIC = I dati nel set di risultati sono statici. (ODBC 2.0)
SQL_SO_KEYSET_DRIVEN = Il driver salva e usa le chiavi per ogni riga nel set di risultati. (ODBC 1.0)
SQL_SO_DYNAMIC = Il driver mantiene le chiavi per ogni riga nel set di righe (le dimensioni del keyset sono le stesse delle dimensioni del set di righe). (ODBC 1.0)
SQL_SO_MIXED = Il driver mantiene le chiavi per ogni riga nel keyset e le dimensioni del keyset sono maggiori delle dimensioni del set di righe. Il cursore è basato su keyset all'interno del keyset e dinamico all'esterno del keyset. (ODBC 1.0)

Per informazioni sui cursori scorrevoli, vedere Cursori scorrevoli.
SQL_SEARCH_PATTERN_ESCAPE 1,0 Stringa di caratteri che specifica ciò che il driver supporta come carattere di escape che consente l'uso del carattere di sottolineatura dei metacaratteri di corrispondenza del modello (_) e del segno di percentuale (%) come caratteri validi nei criteri di ricerca. Questo carattere di escape si applica solo agli argomenti della funzione di catalogo che supportano le stringhe di ricerca. Se questa stringa è vuota, il driver non supporta un carattere di escape del criterio di ricerca.

Poiché questo tipo di informazioni non indica il supporto generale del carattere di escape nel predicato LIKE, SQL-92 non include i requisiti per questa stringa di caratteri.

Questo InfoType è limitato alle funzioni del catalogo. Per una descrizione dell'uso del carattere di escape nelle stringhe del criterio di ricerca, vedere Argomenti dei valori di criterio.
SQL_SERVER_NAME 1,0 Stringa di caratteri con il nome effettivo del server specifico dell'origine dati. è utile quando un nome di origine dati viene usato durante SQLConnect, SQLDriverConnect e SQLBrowseConnect.
SQL_SPECIAL_CHARACTERS 2,0 Stringa di caratteri che contiene tutti i caratteri speciali, ovvero tutti i caratteri tranne da a z, da A a Z, da 0 a 9 e da un carattere di sottolineatura, che possono essere usati in un nome di identificatore, ad esempio un nome di tabella, un nome di colonna o un nome di indice, nell'origine dati. Ad esempio, "#$^". Se un identificatore contiene uno o più di questi caratteri, l'identificatore deve essere un identificatore delimitato.
SQL_SQL_CONFORMANCE 3,0 Valore SQLUINTEGER che indica il livello di SQL-92 supportato dal driver:
SQL_SC_SQL92_ENTRY = Livello di SQL-92 conforme.
SQL_SC_FIPS127_2_TRANSITIONAL = conforme al livello di transizione FIPS 127-2.
SQL_SC_SQL92_FULL = Livello completo SQL-92 conforme.
SQL_SC_ SQL92_INTERMEDIATE = Livello intermedio SQL-92 conforme.
SQL_SQL92_DATETIME_FUNCTIONS 3,0 Maschera di bit SQLUINTEGER che enumera le funzioni scalari datetime supportate dal driver e dall'origine dati associata, come definito in SQL-92.

Le maschera di bit seguenti vengono usate per determinare quali funzioni datetime sono supportate:
SQL_SDF_CURRENT_DATE
SQL_SDF_CURRENT_TIME
SQL_SDF_CURRENT_TIMESTAMP
SQL_SQL92_FOREIGN_KEY_DELETE_RULE 3,0 Maschera di bit SQLUINTEGER che enumera le regole supportate per una chiave esterna in un'istruzione DELETE, come definito in SQL-92.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate dall'origine dati:
SQL_SFKD_CASCADE
SQL_SFKD_NO_ACTION
SQL_SFKD_SET_DEFAULT
SQL_SFKD_SET_NULL

Un driver conforme al livello di transizione FIPS restituirà sempre tutte queste opzioni come supportate.
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 3,0 Maschera di bit SQLUINTEGER che enumera le regole supportate per una chiave esterna in un'istruzione UPDATE, come definito in SQL-92.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate dall'origine dati:
SQL_SFKU_CASCADE
SQL_SFKU_NO_ACTION
SQL_SFKU_SET_DEFAULT
SQL_SFKU_SET_NULL

Un SQL-92 con livello completo restituirà sempre tutte queste opzioni come supportato.
SQL_SQL92_GRANT 3,0 Maschera di bit SQLUINTEGER che enumera le clausole supportate nell'istruzione GRANT, come definito in SQL-92.

Il SQL di conformità FIPS o 92 o fips al quale deve essere supportata questa funzionalità è visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate dall'origine dati:
SQL_SG_DELETE_TABLE (livello di ingresso)
SQL_SG_INSERT_COLUMN (livello intermedio)
SQL_SG_INSERT_TABLE (livello di ingresso)
SQL_SG_REFERENCES_TABLE (livello di ingresso)
SQL_SG_REFERENCES_COLUMN (livello di ingresso)
SQL_SG_SELECT_TABLE (livello di ingresso)
SQL_SG_UPDATE_COLUMN (livello di ingresso)
SQL_SG_UPDATE_TABLE (livello di ingresso)
SQL_SG_USAGE_ON_DOMAIN (livello di transizione FIPS)
SQL_SG_USAGE_ON_CHARACTER_SET (livello di transizione FIPS)
SQL_SG_USAGE_ON_COLLATION (livello di transizione FIPS)
SQL_SG_USAGE_ON_TRANSLATION (livello di transizione FIPS)
SQL_SG_WITH_GRANT_OPTION (livello di ingresso)
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 3,0 Maschera di bit SQLUINTEGER che enumera le funzioni scalari di valori numerici supportate dal driver e dall'origine dati associata, come definito in SQL-92.

Le maschera di bit seguenti vengono usate per determinare quali funzioni numeriche sono supportate:
SQL_SNVF_BIT_LENGTH
SQL_SNVF_CHAR_LENGTH
SQL_SNVF_CHARACTER_LENGTH
SQL_SNVF_EXTRACT
SQL_SNVF_OCTET_LENGTH
SQL_SNVF_POSITION
SQL_SQL92_PREDICATES 3,0 Maschera di bit SQLUINTEGER che enumera i predicati supportati in un'istruzione SELECT, come definito in SQL-92.

Il SQL di conformità FIPS o 92 o fips al quale deve essere supportata questa funzionalità è visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare le opzioni supportate dall'origine dati:
SQL_SP_BETWEEN (livello di ingresso)
SQL_SP_COMPARISON (livello di ingresso)
SQL_SP_EXISTS (livello di ingresso)
SQL_SP_IN (livello di ingresso)
SQL_SP_ISNOTNULL (livello di ingresso)
SQL_SP_ISNULL (livello di ingresso)
SQL_SP_LIKE (livello di ingresso)
SQL_SP_MATCH_FULL (livello completo)
SQL_SP_MATCH_PARTIAL(livello completo)
SQL_SP_MATCH_UNIQUE_FULL (livello completo)
SQL_SP_MATCH_UNIQUE_PARTIAL (livello completo)
SQL_SP_OVERLAPS (livello di transizione FIPS)
SQL_SP_QUANTIFIED_COMPARISON (livello di ingresso)
SQL_SP_UNIQUE (livello di ingresso)
SQL_SQL92_RELATIONAL_JOIN_OPERATORS 3,0 Maschera di bit SQLUINTEGER che enumera gli operatori di join relazionale supportati in un'istruzione SELECT, come definito in SQL-92.

Il SQL di conformità FIPS o 92 o fips al quale deve essere supportata questa funzionalità è visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare le opzioni supportate dall'origine dati:
SQL_SRJO_CORRESPONDING_CLAUSE (livello intermedio)
SQL_SRJO_CROSS_JOIN (livello completo)
SQL_SRJO_EXCEPT_JOIN (livello intermedio)
SQL_SRJO_FULL_OUTER_JOIN (livello intermedio)
SQL_SRJO_INNER_JOIN (livello di transizione FIPS)
SQL_SRJO_INTERSECT_JOIN (livello intermedio)
SQL_SRJO_LEFT_OUTER_JOIN (livello di transizione FIPS)
SQL_SRJO_NATURAL_JOIN (livello di transizione FIPS)
SQL_SRJO_RIGHT_OUTER_JOIN (livello di transizione FIPS)
SQL_SRJO_UNION_JOIN (livello completo)

SQL_SRJO_INNER_JOIN indica il supporto per la sintassi INNER JOIN, non per la inner join funzionalità. Il supporto per la sintassi INNER JOIN è FIPS TRANSITIONAL, mentre il supporto per la inner join funzionalità è ENTRY.
SQL_SQL92_REVOKE 3,0 Maschera di bit SQLUINTEGER che enumera le clausole supportate nell'istruzione REVOKE, come definito in SQL-92, supportato dall'origine dati.

Il SQL di conformità FIPS o 92 o fips al quale deve essere supportata questa funzionalità è visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare le clausole supportate dall'origine dati:
SQL_SR_CASCADE (livello di transizione FIPS)
SQL_SR_DELETE_TABLE (livello di ingresso)
SQL_SR_GRANT_OPTION_FOR (livello intermedio)
SQL_SR_INSERT_COLUMN (livello intermedio)
SQL_SR_INSERT_TABLE (livello di ingresso)
SQL_SR_REFERENCES_COLUMN (livello di ingresso)
SQL_SR_REFERENCES_TABLE (livello di ingresso)
SQL_SR_RESTRICT (livello di transizione FIPS)
SQL_SR_SELECT_TABLE (livello di ingresso)
SQL_SR_UPDATE_COLUMN (livello di ingresso)
SQL_SR_UPDATE_TABLE (livello di ingresso)
SQL_SR_USAGE_ON_DOMAIN (livello di transizione FIPS)
SQL_SR_USAGE_ON_CHARACTER_SET (livello di transizione FIPS)
SQL_SR_USAGE_ON_COLLATION (livello di transizione FIPS)
SQL_SR_USAGE_ON_TRANSLATION (livello di transizione FIPS)
SQL_SQL92_ROW_VALUE_CONSTRUCTOR 3,0 Maschera di bit SQLUINTEGER che enumera le espressioni del costruttore del valore di riga supportate in un'istruzione SELECT, come definito in SQL-92. Le maschera di bit seguenti vengono usate per determinare le opzioni supportate dall'origine dati:
SQL_SRVC_VALUE_EXPRESSION
SQL_SRVC_NULL
SQL_SRVC_DEFAULT
SQL_SRVC_ROW_SUBQUERY
SQL_SQL92_STRING_FUNCTIONS 3,0 Maschera di bit SQLUINTEGER che enumera le funzioni scalari di stringa supportate dal driver e dall'origine dati associata, come definito in SQL-92.

Le maschera di bit seguenti vengono usate per determinare quali funzioni di stringa sono supportate:
SQL_SSF_CONVERT
SQL_SSF_LOWERSQL_SSF_UPPER
SQL_SSF_SUBSTRING
SQL_SSF_TRANSLATE
SQL_SSF_TRIM_BOTH
SQL_SSF_TRIM_LEADING
SQL_SSF_TRIM_TRAILING
SQL_SQL92_VALUE_EXPRESSIONS 3,0 Maschera di bit SQLUINTEGER che enumera le espressioni di valore supportate, come definito in SQL-92.

Il SQL di conformità 92 o FIPS in cui deve essere supportata questa funzionalità è visualizzato tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare le opzioni supportate dall'origine dati:
SQL_SVE_CASE (livello intermedio)
SQL_SVE_CAST (livello transizione FIPS)
SQL_SVE_COALESCE (livello intermedio)
SQL_SVE_NULLIF (livello intermedio)
SQL_STANDARD_CLI_CONFORMANCE 3,0 Maschera di bit SQLUINTEGER che enumera lo standard o gli standard dell'interfaccia della riga di comando a cui è conforme il driver. Le maschera di bit seguenti vengono usate per determinare i livelli con cui il driver è conforme:
SQL_SCC_XOPEN_CLI_VERSION1: il driver è conforme all'interfaccia della riga di comando di Open Group versione 1.
SQL_SCC_ISO92_CLI: il driver è conforme all'interfaccia della riga di comando ISO 92.
SQL_STATIC_CURSOR_ATTRIBUTES1 3,0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore statico supportati dal driver. Questa maschera di bit contiene il primo subset di attributi. per il secondo subset, vedere SQL_STATIC_CURSOR_ATTRIBUTES2.

Le maschera di bit seguenti vengono usate per determinare quali attributi sono supportati:
SQL_CA1_NEXT
SQL_CA1_ABSOLUTE
SQL_CA1_RELATIVE
SQL_CA1_BOOKMARK
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

Per le descrizioni di queste maschera di bit, vedere SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (e sostituire "cursore statico" con "cursore dinamico" nelle descrizioni).

Un driver conforme al livello intermedio SQL-92 restituirà in genere le opzioni SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE supportate, perché il driver supporta cursori scorrevoli tramite l'istruzione FETCH SQL incorporata. Poiché ciò non determina direttamente il supporto SQL sottostante, tuttavia, i cursori scorrevoli potrebbero non essere supportati, anche per un driver conforme al livello intermedio SQL-92.
SQL_STATIC_CURSOR_ATTRIBUTES2 3,0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore statico supportati dal driver. Questa maschera di bit contiene il secondo subset di attributi. per il primo subset, vedere SQL_STATIC_CURSOR_ATTRIBUTES1.

Le maschera di bit seguenti vengono usate per determinare quali attributi sono supportati:
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

Per le descrizioni di queste maschera di bit, vedere SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (e sostituire "cursore statico" con "cursore dinamico" nelle descrizioni).
SQL_STRING_FUNCTIONS 1,0 Nota: il tipo di informazioni è stato introdotto in ODBC 1.0; Ogni maschera di bit è etichettata con la versione in cui è stata introdotta.

Maschera di bit SQLUINTEGER che enumera le funzioni di stringa scalare supportate dal driver e dall'origine dati associata.

Le maschera di bit seguenti vengono usate per determinare quali funzioni di stringa sono supportate:
SQL_FN_STR_ASCII (ODBC 1.0)
SQL_FN_STR_BIT_LENGTH (ODBC 3.0)
SQL_FN_STR_CHAR (ODBC 1.0)
SQL_FN_STR_CHAR_LENGTH (ODBC 3.0)
SQL_FN_STR_CHARACTER_LENGTH (ODBC 3.0)
SQL_FN_STR_CONCAT (ODBC 1.0)
SQL_FN_STR_DIFFERENCE (ODBC 2.0)
SQL_FN_STR_INSERT (ODBC 1.0)
SQL_FN_STR_LCASE (ODBC 1.0)
SQL_FN_STR_LEFT (ODBC 1.0)
SQL_FN_STR_LENGTH (ODBC 1.0)
SQL_FN_STR_LOCATE (ODBC 1.0)
SQL_FN_STR_LTRIM (ODBC 1.0)
SQL_FN_STR_OCTET_LENGTH (ODBC 3.0)
SQL_FN_STR_POSITION (ODBC 3.0)
SQL_FN_STR_REPEAT (ODBC 1.0)
SQL_FN_STR_REPLACE (ODBC 1.0)
SQL_FN_STR_RIGHT (ODBC 1.0)
SQL_FN_STR_RTRIM (ODBC 1.0)
SQL_FN_STR_SOUNDEX (ODBC 2.0)
SQL_FN_STR_SPACE (ODBC 2.0)
SQL_FN_STR_SUBSTRING (ODBC 1.0)
SQL_FN_STR_UCASE (ODBC 1.0)

Se un'applicazione può chiamare la funzione scalare LOCATE con gli argomenti string_exp1, string_exp2 e start, il driver restituisce la SQL_FN_STR_LOCATE di bit. Se un'applicazione può chiamare la funzione scalare LOCATE solo con gli argomenti string_exp1 e string_exp2, il driver restituisce la SQL_FN_STR_LOCATE_2 di bit. I driver che supportano completamente la funzione scalare LOCATE restituiscono entrambe le maschera di bit.

Per altre informazioni, vedere Funzioni stringa nell'appendice E, "Funzioni scalari".
SQL_SUBQUERIES 2,0 Maschera di bit SQLUINTEGER che enumera i predicati che supportano le sottoquery:
SQL_SQ_CORRELATED_SUBQUERIES
SQL_SQ_COMPARISON
SQL_SQ_EXISTS
SQL_SQ_INSQL_SQ_QUANTIFIED

La SQL_SQ_CORRELATED_SUBQUERIES maschera di bit indica che tutti i predicati che supportano le sottoquery supportano le sottoquery correlate.

Un driver SQL-92 Entry conforme al livello restituirà sempre una maschera di bit in cui sono impostati tutti questi bit.
SQL_SYSTEM_FUNCTIONS 1,0 Maschera di bit SQLUINTEGER che enumera le funzioni di sistema scalari supportate dal driver e dall'origine dati associata.

Le maschera di bit seguenti vengono usate per determinare quali funzioni di sistema sono supportate:
SQL_FN_SYS_DBNAME
SQL_FN_SYS_IFNULL
SQL_FN_SYS_USERNAME
SQL_TABLE_TERM 1,0 Stringa di caratteri con il nome del fornitore dell'origine dati per una tabella. ad esempio "table" o "file".

Questa stringa di caratteri può essere in lettere maiuscole, minuscole o miste.

Un driver SQL-92 Entry conforme al livello restituirà sempre "table".
SQL_TIMEDATE_ADD_INTERVALS 2,0 Maschera di bit SQLUINTEGER che enumera gli intervalli di timestamp supportati dal driver e dall'origine dati associata per la funzione scalare TIMESTAMPADD.

Le maschera di bit seguenti vengono usate per determinare gli intervalli supportati:
SQL_FN_TSI_FRAC_SECOND
SQL_FN_TSI_SECOND
SQL_FN_TSI_MINUTE
SQL_FN_TSI_HOUR
SQL_FN_TSI_DAY
SQL_FN_TSI_WEEK
SQL_FN_TSI_MONTH
SQL_FN_TSI_QUARTER
SQL_FN_TSI_YEAR

Un driver conforme al livello di transizione FIPS restituirà sempre una maschera di bit in cui sono impostati tutti questi bit.
SQL_TIMEDATE_DIFF_INTERVALS 2,0 Maschera di bit SQLUINTEGER che enumera gli intervalli di timestamp supportati dal driver e dall'origine dati associata per la funzione scalare TIMESTAMPDIFF.

Le maschera di bit seguenti vengono usate per determinare gli intervalli supportati:
SQL_FN_TSI_FRAC_SECOND
SQL_FN_TSI_SECOND
SQL_FN_TSI_MINUTE
SQL_FN_TSI_HOUR
SQL_FN_TSI_DAY
SQL_FN_TSI_WEEK
SQL_FN_TSI_MONTH
SQL_FN_TSI_QUARTER
SQL_FN_TSI_YEAR

Un driver conforme al livello di transizione FIPS restituirà sempre una maschera di bit in cui sono impostati tutti questi bit.
SQL_TIMEDATE_FUNCTIONS 1,0 Nota: il tipo di informazioni è stato introdotto in ODBC 1.0; Ogni maschera di bit è etichettata con la versione in cui è stata introdotta.

Maschera di bit SQLUINTEGER che enumera le funzioni di data e ora scalari supportate dal driver e dall'origine dati associata.

Le maschera di bit seguenti vengono usate per determinare quali funzioni di data e ora sono supportate:
SQL_FN_TD_CURRENT_DATE (ODBC 3.0)
SQL_FN_TD_CURRENT_TIME (ODBC 3.0)
SQL_FN_TD_CURRENT_TIMESTAMP (ODBC 3.0)
SQL_FN_TD_CURDATE (ODBC 1.0)
SQL_FN_TD_CURTIME (ODBC 1.0)
SQL_FN_TD_DAYNAME (ODBC 2.0)
SQL_FN_TD_DAYOFMONTH (ODBC 1.0)
SQL_FN_TD_DAYOFWEEK (ODBC 1.0)
SQL_FN_TD_DAYOFYEAR (ODBC 1.0)
SQL_FN_TD_EXTRACT (ODBC 3.0)
SQL_FN_TD_HOUR (ODBC 1.0)
SQL_FN_TD_MINUTE (ODBC 1.0)
SQL_FN_TD_MONTH (ODBC 1.0)
SQL_FN_TD_MONTHNAME (ODBC 2.0)
SQL_FN_TD_NOW (ODBC 1.0)
SQL_FN_TD_QUARTER (ODBC 1.0)
SQL_FN_TD_SECOND (ODBC 1.0)
SQL_FN_TD_TIMESTAMPADD (ODBC 2.0)
SQL_FN_TD_TIMESTAMPDIFF (ODBC 2.0)
SQL_FN_TD_WEEK (ODBC 1.0)
SQL_FN_TD_YEAR (ODBC 1.0)
SQL_TXN_CAPABLE 1,0 Nota: il tipo di informazioni è stato introdotto in ODBC 1.0; Ogni valore restituito è etichettato con la versione in cui è stato introdotto.

Valore SQLUSMALLINT che descrive il supporto delle transazioni nel driver o nell'origine dati:
SQL_TC_NONE = Transazioni non supportate. (ODBC 1.0)
SQL_TC_DML = Le transazioni possono contenere solo istruzioni DML (Data Manipulation Language) (SELECT, INSERT, UPDATE, DELETE). Le istruzioni DDL (Data Definition Language) riscontrate in una transazione causano un errore. (ODBC 1.0)
SQL_TC_DDL_COMMIT = Le transazioni possono contenere solo istruzioni DML. Le istruzioni DDL (CREATE TABLE, DROP INDEX e così via) incontrate in una transazione causano il commit della transazione. (ODBC 2.0)
SQL_TC_DDL_IGNORE = Le transazioni possono contenere solo istruzioni DML. Le istruzioni DDL incontrate in una transazione vengono ignorate. (ODBC 2.0)
SQL_TC_ALL = Le transazioni possono contenere istruzioni DDL e istruzioni DML in qualsiasi ordine. (ODBC 1.0)

Poiché il supporto delle transazioni è obbligatorio in SQL-92, un driver conforme a SQL-92 [qualsiasi livello] non restituirà mai SQL_TC_NONE.
SQL_TXN_ISOLATION_OPTION 1,0 Maschera di bit SQLUINTEGER che enumera i livelli di isolamento delle transazioni disponibili dal driver o dall'origine dati.

Le maschera di bit seguenti vengono usate insieme al flag per determinare quali opzioni sono supportate:
SQL_TXN_READ_UNCOMMITTED
SQL_TXN_READ_COMMITTED
SQL_TXN_REPEATABLE_READ
SQL_TXN_SERIALIZABLE

Per le descrizioni di questi livelli di isolamento, vedere la descrizione di SQL_DEFAULT_TXN_ISOLATION.

Per impostare il livello di isolamento della transazione, un'applicazione chiama SQLSetConnectAttr per impostare l'SQL_ATTR_TXN_ISOLATION transazione. Per altre informazioni, vedere Funzione SQLSetConnectAttr.

Un driver SQL-92 Entry conforme al livello restituirà sempre SQL_TXN_SERIALIZABLE come supportato. Un driver conforme al livello di transizione FIPS restituirà sempre tutte queste opzioni come supportate.
SQL_UNION 2,0 Maschera di bit SQLUINTEGER che enumera il supporto per la clausola UNION:
SQL_U_UNION = L'origine dati supporta la clausola UNION.
SQL_U_UNION_ALL = L'origine dati supporta la parola chiave ALL nella clausola UNION. (SQLGetInfo restituisce sia SQL_U_UNION che SQL_U_UNION_ALL in questo caso.

Un driver SQL-92 Entry conforme al livello restituirà sempre entrambe queste opzioni come supportato.
SQL_USER_NAME 1,0 Stringa di caratteri con il nome utilizzato in un database specifico, che può essere diversa dal nome dell'account di accesso.
SQL_XOPEN_CLI_YEAR 3,0 Stringa di caratteri che indica l'anno di pubblicazione della specifica Open Group con cui la versione di Gestione driver ODBC è completamente conforme.

Esempio

SQLGetInfo restituisce elenchi di opzioni supportate come maschera di bit SQLUINTEGER in *InfoValuePtr. La maschera di bit per ogni opzione viene utilizzata insieme al flag per determinare se l'opzione è supportata.

Ad esempio, un'applicazione potrebbe usare il codice seguente per determinare se la funzione scalare SUBSTRING è supportata dal driver associato alla connessione.

Per un altro esempio d'uso di SQLGetInfo, vedere Funzione SQLTables.

SQLUINTEGER fFuncs;  
  
SQLGetInfo(hdbc,  
           SQL_STRING_FUNCTIONS,  
           (SQLPOINTER)&fFuncs,  
           sizeof(fFuncs),  
           NULL);  
  
// SUBSTRING supported  
if (fFuncs & SQL_FN_STR_SUBSTRING)  
   ;   // do something  
  
// SUBSTRING not supported  
else  
   ;   // do something else  

Restituzione dell'impostazione di un attributo di connessione
Funzione SQLSetConnectAttr

Determinare se un driver supporta una funzione
SQLGetFunctions Function

Restituzione dell'impostazione di un attributo di istruzione
Funzione SQLGetStmtAttr

Restituzione di informazioni sui tipi di dati di un'origine dati
Funzione SQLGetTypeInfo

Vedere anche

Informazioni di riferimento sull'API ODBC
File di intestazione ODBC