Funzione SQLGetInfo

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

Riepilogo
SQLGetInfo restituisce informazioni generali sul driver e sull'origine dati associata 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, vedere i descrittori di SQL_DRIVER_HDESC o SQL_DRIVER_HSTMT 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) da restituire 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 le dimensioni di *InfoValuePtr siano 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 (stringa o lunghezza buffer 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) da restituire 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 in 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 le dimensioni di *InfoValuePtr siano SQLUSMALLINT o SQLUINTEGER, a seconda di InfoType.

Valori restituiti

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 di SQL_HANDLE_DBC e handle di ConnectionHandle. La tabella seguente elenca i valori SQLSTATE restituiti in genere da SQLGetInfo e ne spiega ognuno nel contesto di questa funzione. La notazione "(DM)" precede le descrizioni di SQLSTATEs restituite da Gestione driver. Il codice restituito associato a ogni valore SQLSTATE è SQL_ERROR, a meno che non sia 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 Il buffer *InfoValuePtr non è abbastanza grande per restituire tutte le informazioni richieste. Pertanto, le informazioni sono state troncate. La lunghezza delle informazioni richieste nel formato non modificato 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. Dei tipi di informazioni riservati da ODBC, è possibile restituire solo SQL_ODBC_VER senza una connessione aperta.
08S01 Errore del collegamento di comunicazione 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 è stato specificato SQLSTATE e per il quale non è stato definito alcun 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 funzioni (DM) SQLExecute, SQLExecDirect o SQLMoreResults è stato chiamato per StatementHandle e 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 Impossibile 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 dell'attributo non valido (DM) L'argomento InfoType è stato SQL_DRIVER_HSTMT e il valore a cui punta InfoValuePtr non era un handle di istruzione valido.

(DM) L'argomento InfoType è stato SQL_DRIVER_HDESC e il valore a cui punta InfoValuePtr non era un handle descrittore valido.
HY090 Lunghezza della stringa o del 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 viene sospesa a causa dello stato sconosciuto della transazione. Sono consentite solo funzioni disconnesse 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 Il timeout della connessione è scaduto Periodo di timeout della connessione scaduto prima che l'origine dati rispondesse 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 vengono visualizzati in "Tipi di informazioni", più avanti in questa sezione; è previsto che più saranno definiti per sfruttare i vantaggi di origini dati diverse. Un intervallo di tipi di informazioni è riservato da ODBC; Gli sviluppatori di driver devono riservare valori per il proprio uso specifico del driver da Open Group. SQLGetInfo non esegue alcuna conversione Unicode o la modalità di creazione di pacchetti (vedere Appendice A: Codici di errore ODBC della Guida di riferimento per programmatori ODBC) per infoType definiti dal driver. Per ulteriori informazioni, vedere Tipi di dati specifici del driver, tipi di descrittori, tipi di informazioni, tipi di diagnostica e attributi. Il formato delle informazioni restituite in *InfoValuePtr dipende dall'InfoType richiesto. SQLGetInfo restituirà informazioni in uno dei cinque formati diversi:

  • 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 è indicato nella descrizione del tipo. L'applicazione deve eseguire di conseguenza il cast del valore restituito in *InfoValuePtr . Per un esempio di come un'applicazione potrebbe 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 inclusi nell'intervallo di tipi di informazioni riservati per l'utilizzo da ODBC, ma non 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 tipo di informazioni SQL_DRIVER_ODBC_VER. SQLGetInfo restituisce SQLSTATE HYC00 (funzionalità facoltativa non implementata) per i valori di InfoType inclusi nell'intervallo di tipi di informazioni riservati per l'uso specifico del driver, ma non 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

Questa sezione elenca i tipi di informazioni supportati da SQLGetInfo. I tipi di informazioni sono raggruppati in modo categorico ed elencati alfabeticamente. 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 dell'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 tali 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 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à delle transazioni:

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_OPZIONE_ISOLAMENTO_TXN
SQL_USER_NAME

SQL supportato

I valori seguenti dell'argomento InfoType restituiscono informazioni sulle istruzioni SQL supportate dall'origine dati. La sintassi 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 cui le origini dati offrono in genere diversi livelli di supporto. In particolare, la maggior parte delle istruzioni DDL in SQL-92 è descritta.

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

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

Limiti DI SQL

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 delle applicazioni ODBC 2.x. Per altre informazioni su questi tipi, vedere Supporto di SQLGetInfo nell'Appendice G: Linee guida del 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.

Tipo di informazioni 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 potrebbero essere presenti procedure restituite 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 potrebbero essere presenti tabelle restituite che l'utente non può accedere.
SQL_ACTIVE_ENVIRONMENTS 3.0 Valore SQLUSMALLINT che specifica il numero massimo di ambienti attivi supportati dal driver. Se non esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.
SQL_AGGREGATE_FUNCTIONS 3.0 Supporto dell'enumerazione della maschera di bit SQLUINTEGER 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 driver conforme al livello di ingresso di SQL-92 restituirà sempre tutte queste opzioni come supportate.
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 driver conforme a livello completo di SQL-92 restituirà sempre tutte le maschera di bit. Un valore restituito "0" indica che l'istruzione ALTER DOMAIN non è supportata.

Il livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Per determinare quali clausole sono supportate, vengono usate le maschera di bit seguenti:
SQL_AD_ADD_DOMAIN_CONSTRAINT = L'aggiunta di un vincolo di dominio è supportata (livello completo)
SQL_AD_ADD_DOMAIN_DEFAULT = <la clausola> predefinita alter domain><set è supportata (livello completo)
SQL_AD_CONSTRAINT_NAME_DEFINITION = <clausola> di definizione del nome del vincolo è supportata per il vincolo di dominio di denominazione (livello intermedio)
SQL_AD_DROP_DOMAIN_CONSTRAINT = <clausola di vincolo> drop domain è supportata (livello completo)
SQL_AD_DROP_DOMAIN_DEFAULT = <la clausola> predefinita alter domain><drop domain è supportata (livello completo)

I bit seguenti specificano gli attributi> del vincolo supportati <se <è supportato l'aggiunta del vincolo> di dominio (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 livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Per determinare quali clausole sono supportate, vengono usate le maschera di bit seguenti:
SQL_AT_ADD_COLUMN_COLLATION = <è supportata la clausola add column> , con la funzionalità per specificare le regole di confronto delle colonne (livello completo) (ODBC 3.0)
SQL_AT_ADD_COLUMN_DEFAULT = <è supportata la clausola add column> , con la funzionalità per specificare le impostazioni predefinite della colonna (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_ADD_COLUMN_SINGLE = <l'aggiunta di una colonna> è supportata (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_ADD_CONSTRAINT = <è supportata la clausola add column> , con la funzionalità per specificare vincoli di colonna (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_ADD_TABLE_CONSTRAINT = <la clausola add table constraint> è supportata (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_CONSTRAINT_NAME_DEFINITION = <la definizione> del nome del vincolo è supportata per la denominazione di vincoli di colonna e tabella (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 = <la clausola> predefinita alter column><drop column è supportata (livello intermedio) (ODBC 3.0)
SQL_AT_DROP_COLUMN_RESTRICT = <drop column> RESTRICT è supportato (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = <drop column> RESTRICT è supportato (livello di transizione FIPS) (ODBC 3.0)
SQL_AT_SET_COLUMN_DEFAULT = <la clausola> predefinita alter column><set è supportata (livello intermedio) (ODBC 3.0)

I bit seguenti specificano gli attributi> del vincolo di supporto <se è supportata la specifica di vincoli di colonna o di tabella (è impostato il bit SQL_AT_ADD_CONSTRAINT):
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 funzioni di connessione in modo asincrono.
SQL_ASYNC_DBC_NOT_CAPABLE = Il driver non può eseguire 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 specifico sono in modalità asincrona o tutti sono in modalità sincrona. Un handle di istruzione in 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 = L'esecuzione asincrona a livello di istruzione è supportata. 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 rispetto alla disponibilità dei conteggi delle righe. Le maschera di bit seguenti vengono usate insieme al tipo di informazioni:

SQL_BRC_ROLLED_UP = I conteggi delle righe per istruzioni INSERT, DELETE o UPDATE consecutive vengono ridistribuiti in uno. 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 una stored procedure. Se i conteggi delle righe sono disponibili, possono essere distribuiti o disponibili singolarmente, a seconda del bit SQL_BRC_ROLLED_UP.
SQL_BRC_EXPLICIT = I conteggi delle righe, se presenti, sono disponibili quando un batch viene eseguito direttamente chiamando SQLExecute o SQLExecDirect. Se i conteggi delle righe sono disponibili, possono essere distribuiti o disponibili singolarmente, a seconda del bit SQL_BRC_ROLLED_UP.
SQL_BATCH_SUPPORT 3.0 Maschera di bit SQLUINTEGER che enumera il supporto del driver per i batch. Per determinare quale livello è supportato, vengono usate le maschera di bit seguenti:

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 di 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 oppure 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 di SQL_HANDLE_STMT per 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 nella riga, incluse le colonne chiave.
SQL_BP_OTHER_HSTMT = È possibile usare un segnalibro associato a un'istruzione con un'altra istruzione. A meno che non venga specificato SQL_BP_CLOSE o SQL_BP_DROP, il cursore nella 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\EMPMP. 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 conforme a livello completo di SQL-92 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 tipo di informazioni SQL_CATALOG_NAME.

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 o "N" in caso contrario.

Un driver conforme a livello completo di SQL-92 restituirà sempre "Y".
SQL_CATALOG_NAME_SEPARATOR 1.0 Stringa di caratteri: il carattere o i caratteri definiti dall'origine dati come separatore tra un nome di catalogo e l'elemento del nome completo che 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 tipo di informazioni SQL_CATALOG_NAME. Un driver conforme a livello completo di SQL-92 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, inferiori 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 tipo di informazioni SQL_CATALOG_NAME. Un driver conforme a livello completo di SQL-92 restituirà sempre "catalog".

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_QUALIFIER_TERM InfoType ODBC 2.0.
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 del linguaggio di manipolazione dei dati: SELECT, INSERT, UPDATE, DELETE e, se supportato, SELECT FOR UPDATE e istruzioni update ed delete posizionate.
SQL_CU_PROCEDURE_INVOCATION = I cataloghi sono supportati nell'istruzione di chiamata della 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 tipo di informazioni SQL_CATALOG_NAME. Un driver conforme a livello completo di SQL-92 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. Si tratta di una 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 questa opzione è sconosciuta, verrà restituita una stringa vuota. Un driver conforme a livello completo di SQL-92 restituirà sempre una stringa non vuota.
SQL_COLUMN_ALIAS 2.0 Stringa di caratteri: "Y" se l'origine dati supporta 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 usando una clausola AS. Un driver conforme al livello di ingresso di SQL-92 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 di tipo di dati di tipo carattere con valori NULL con tipo di dati non NULL:
SQL_CB_NULL = Il risultato è NULL.
SQL_CB_NON_NULL = Il risultato è la concatenazione di colonne o colonne con valori non NULL.

Un driver conforme al livello di ingresso SQL-92 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 da dati del tipo denominato, inclusa la conversione nello 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.

Per determinare quali conversioni sono supportate, vengono usate le maschera di bit seguenti:
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 scalari supportate dal driver e dall'origine dati associata.

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

Un driver conforme al livello di ingresso SQL-92 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.

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

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

Un driver conforme a livello completo di SQL-92 restituirà sempre tutte queste opzioni come supportate. Un 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.

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

Un driver conforme a livello completo di SQL-92 restituirà sempre tutte queste opzioni come supportate. Un 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 quali clausole sono supportate:
SQL_CCOL_CREATE_COLLATION

Un driver conforme a livello completo di SQL-92 restituirà sempre questa opzione come supportata. Un 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.

Per determinare quali clausole sono supportate, vengono usate le maschera di bit seguenti:
SQL_CDO_CREATE_DOMAIN = L'istruzione CREATE DOMAIN è supportata (livello intermedio).
SQL_CDO_CONSTRAINT_NAME_DEFINITION = <la definizione> del nome del vincolo è supportata per la denominazione dei vincoli di dominio (livello intermedio).

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

I bit seguenti specificano gli attributi dei vincoli supportati se si specificano vincoli di dominio (è impostato SQL_CDO_DEFAULT):
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)

Un 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.

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

Un driver conforme a livello intermedio SQL-92 restituirà sempre le opzioni di SQL_CS_CREATE_SCHEMA e SQL_CS_AUTHORIZATION supportate. Queste istruzioni devono essere supportate anche a livello di voce SQL-92, ma non necessariamente come istruzioni SQL. Un driver conforme a livello completo di SQL-92 restituirà sempre tutte queste opzioni come supportate.
SQL_CREATE_TABLE 3.0 Maschera di bit SQLUINTEGER che enumera le clausole nell'istruzione CREATE TABLE , come definito in SQL-92, supportato dall'origine dati.

Il livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Per determinare quali clausole sono supportate, vengono usate le maschera di bit seguenti:
SQL_CT_CREATE_TABLE = L'istruzione CREATE TABLE è supportata. (Livello di ingresso)
SQL_CT_TABLE_CONSTRAINT = Specificare i vincoli di tabella è supportato (livello di transizione FIPS)
SQL_CT_CONSTRAINT_NAME_DEFINITION = La <clausola di definizione> del nome del vincolo è supportata per la denominazione di 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 = Specifica dei vincoli di colonna è supportato (livello di transizione FIPS)
SQL_CT_COLUMN_DEFAULT = Specificare le impostazioni predefinite della colonna è supportato (livello di transizione FIPS)
SQL_CT_COLUMN_COLLATION = Specifica delle regole di confronto delle colonne è supportata (livello completo)

I bit seguenti specificano gli attributi dei vincoli 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, supportato dall'origine dati.

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

Un driver conforme a livello completo di SQL-92 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, supportato dall'origine dati.

Per determinare quali clausole sono supportate, vengono usate le maschera di bit seguenti:
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 conforme al livello di ingresso SQL-92 restituirà sempre le opzioni di SQL_CV_CREATE_VIEW e SQL_CV_CHECK_OPTION supportate.

Un driver conforme a livello completo di SQL-92 restituirà sempre tutte queste opzioni come supportate.
SQL_CURSOR_COMMIT_BEHAVIOR 1.0 Valore SQLUSMALLINT che indica come un'operazione COMMIT influisce sui cursori e le 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 istruzioni preparate. Per usare di nuovo il cursore, l'applicazione deve rieseguare e ripetere l'istruzione.
SQL_CB_CLOSE = Chiudere i cursori. Per le istruzioni preparate, l'applicazione può chiamare SQLExecute nell'istruzione senza chiamare di nuovo SQLPrepare . Il valore predefinito per il driver ODBC SQL è SQL_CB_CLOSE. Ciò significa che il driver ODBC SQL chiuderà i cursori quando si esegue il commit di una transazione.
SQL_CB_PRESERVE = Mantieni 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 di nuovo l'istruzione senza riproparla.
SQL_CURSOR_ROLLBACK_BEHAVIOR 1.0 Valore SQLUSMALLINT che indica come un'operazione ROLLBACK influisce sui cursori e le istruzioni preparate nell'origine dati:
SQL_CB_DELETE = Chiudere i cursori ed eliminare istruzioni preparate. Per usare di nuovo il cursore, l'applicazione deve rieseguare e ripetere l'istruzione.
SQL_CB_CLOSE = Chiudere i cursori. Per le istruzioni preparate, l'applicazione può chiamare SQLExecute nell'istruzione senza chiamare di nuovo SQLPrepare .
SQL_CB_PRESERVE = Mantieni 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 di nuovo l'istruzione senza riproparla.
SQL_CURSOR_SENSITIVITY 3.0 Valore SQLUINTEGER che indica il supporto per la sensibilità del cursore:
SQL_INSENSITIVE = Tutti i cursori nell'handle dell'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 dell'istruzione rendono visibili le modifiche apportate a un set di risultati da un altro cursore all'interno della stessa transazione. I cursori sull'handle di istruzione possono rendere visibili nessuno, alcuni o tutte queste modifiche.
SQL_SENSITIVE = I cursori sono sensibili alle modifiche apportate da altri cursori all'interno della stessa transazione.

Un driver conforme al livello di ingresso DI SQL-92 restituirà sempre l'opzione SQL_UNSPECIFIED come supportata.

Un driver conforme a livello completo di SQL-92 restituirà sempre l'opzione SQL_INSENSITIVE come supportata.
SQL_DATA_SOURCE_NAME 1.0 Stringa di caratteri con il nome dell'origine dati utilizzato durante la connessione. Se l'applicazione denominata SQLConnect, corrisponde al valore dell'argomento szDSN . Se l'applicazione denominata SQLDriverConnect o SQLBrowseConnect, questo è il valore della parola chiave DSN nel stringa di connessione passato al driver. Se il 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 usato con un'origine dati di sola lettura. Se un driver è di sola lettura, tutte le 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 "database".

In ODBC 3.x il valore restituito per questo InfoType può anche essere restituito chiamando SQLGetConnectAttr con un argomento Attribute di SQL_ATTR_CURRENT_CATALOG.
SQL_DATETIME_LITERALS 3.0 Maschera di bit SQLUINTEGER che enumera i valori letterali datetime SQL-92 supportati dall'origine dati. Si noti che questi sono i 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 i valori letterali datetime di SQL-92 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 successive 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 delle transazioni 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:
Dirty Read Transaction 1 modifica una riga. La transazione 2 legge la riga modificata prima del commit della modifica da parte della transazione 1. Se la transazione 1 esegue il rollback della modifica, la transazione 2 avrà letto una riga considerata che non esiste mai.
La transazione di lettura 1 non ripetibile legge una riga. La transazione 2 aggiorna o elimina tale riga ed esegue il commit di questa modifica. Se la transazione 1 tenta di rileggere la riga, riceverà valori di riga diversi o scoprirà che la riga è stata eliminata.
Phantom Transaction 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 = Letture dirty, letture non ripetibili e fantasma sono possibili.
SQL_TXN_READ_COMMITTED = Le letture dirty non sono possibili. Sono possibili letture non ripetibili e fantasma.
SQL_TXN_REPEATABLE_READ = Letture dirty e letture 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 è possibile descrivere i parametri; "N", in caso contrario.

Un driver conforme a livello completo di SQL-92 restituisce 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 a livello completo di SQL-92.
SQL_DM_VER 3.0 Stringa di caratteri con la versione di Gestione driver. La versione è del formato ##.##.####.######, dove:
Il primo set di due cifre è la versione PRINCIPALE di ODBC, come indicato dalla costante SQL_SPEC_MAJOR.
Il secondo set di due cifre è la versione odbc secondaria, come indicato 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 versione di Gestione driver di Windows 7 è 03.80. La versione di Gestione driver di Windows 8 è 03.81.
SQL_DRIVER_AWARE_POOLING_SUPPORTED 3.8 Valore SQLUINTEGER che indica se il driver supporta il pooling compatibile con driver. Per altre informazioni, vedere Pool di connessioni compatibile con driver.

SQL_DRIVER_AWARE_POOLING_CAPABLE indica che il driver può supportare il meccanismo di pooling compatibile con driver.
SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE indica che il driver non può supportare il meccanismo di pool in grado di supportare il 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 o handle di connessione del driver, determinato dall'argomento InfoType.

Questi tipi di informazioni vengono implementati solo da Gestione driver.
SQL_DRIVER_HDESC 3.0 Valore SQLULEN, handle del 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 chiamare 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, il valore posteriore della libreria di carico 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 Valore SQLULEN, 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 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 chiamare 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 usato per accedere all'origine dati.
SQL_DRIVER_ODBC_VER 2.0 Una 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 successive 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, queste 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 successive 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 quali clausole sono supportate:
SQL_DA_DROP_ASSERTION

Un driver conforme a livello completo di SQL-92 restituirà sempre questa opzione come supportata.
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 quali clausole sono supportate:
SQL_DCS_DROP_CHARACTER_SET

Un driver conforme a livello completo di SQL-92 restituirà sempre questa opzione come supportata.
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 quali clausole sono supportate:
SQL_DC_DROP_COLLATION

Un driver conforme a livello completo di SQL-92 restituirà sempre questa opzione come supportata.
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.

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

Un driver a livello intermedio conforme a SQL-92 restituirà sempre tutte queste opzioni come supportate.
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.

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

Un driver a livello intermedio conforme a SQL-92 restituirà sempre tutte queste opzioni come supportate.
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.

Per determinare quali clausole sono supportate, vengono usate le maschera di bit seguenti:
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 quali clausole sono supportate:
SQL_DTR_DROP_TRANSLATION

Un driver conforme a livello completo di SQL-92 restituirà sempre questa opzione come supportata.
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.

Per determinare quali clausole sono supportate, vengono usate le maschera di bit seguenti:
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 supportato 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 di 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 è 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 di SQL_LOCK_EXCLUSIVE è supportato in una chiamata a SQLSetPos quando il cursore è un cursore dinamico.
SQL_CA1_LOCK_NO_CHANGE = Un argomento LockType di 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 conforme al livello di ingresso SQL-92 restituirà sempre questa opzione come supportata.
SQL_CA1_POSITIONED_DELETE = Un'istruzione DELETE WHERE CURRENT OF SQL è supportata quando il cursore è un cursore dinamico. Un driver conforme al livello di ingresso SQL-92 restituirà sempre questa opzione come supportata.
SQL_CA1_SELECT_FOR_UPDATE = Un'istruzione SQL SELECT FOR UPDATE è supportata quando il cursore è un cursore dinamico. Un driver conforme al livello di ingresso SQL-92 restituirà sempre questa opzione come supportata.
SQL_CA1_BULK_ADD = Un argomento Operation di 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 a livello intermedio SQL-92 restituisce in genere le opzioni SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE supportate, perché supporta cursori scorrevoli tramite l'istruzione SQL FETCH incorporata. Poiché ciò non determina direttamente il supporto SQL sottostante, tuttavia, i cursori scorrevoli potrebbero non essere supportati, anche per un driver conforme a livello intermedio SQL-92.
SQL_DYNAMIC_CURSOR_ATTRIBUTES2 3.0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore dinamico supportato 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 dell'istruzione SQL_ATTR_CONCURRENCY 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 dell'istruzione SQL_ATTR_CONCURRENCY può essere SQL_CONCUR_LOCK per un cursore dinamico. Questi blocchi devono essere coerenti con il livello di isolamento delle transazioni impostato dall'attributo di connessione SQL_ATTR_TXN_ISOLATION.
SQL_CA2_OPT_ROWVER_CONCURRENCY = È supportato un cursore dinamico che usa il controllo della concorrenza ottimistica che confronta le versioni di riga. L'attributo dell'istruzione SQL_ATTR_CONCURRENCY 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 dell'istruzione SQL_ATTR_CONCURRENCY 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 quelle righe. Dove queste righe vengono aggiunte al cursore dipendono 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 che il cursore dinamico scorre da una riga eliminata, non può tornare a tale riga.
SQL_CA2_SENSITIVITY_UPDATES = Gli aggiornamenti delle 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 dell'istruzione SQL_ATTR_MAX_ROWS influisce sulle istruzioni SELECT quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_INSERT = L'attributo dell'istruzione SQL_ATTR_MAX_ROWS influisce sulle istruzioni INSERT quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_DELETE = L'attributo dell'istruzione SQL_ATTR_MAX_ROWS influisce sulle istruzioni DELETE quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_UPDATE = L'attributo dell'istruzione SQL_ATTR_MAX_ROWS influisce sulle istruzioni UPDATE quando il cursore è un cursore dinamico.
SQL_CA2_MAX_ROWS_CATALOG = L'attributo dell'istruzione SQL_ATTR_MAX_ROWS influisce 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 numero esatto di 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 influiscano solo su una riga quando il cursore è un cursore dinamico; è responsabilità dell'applicazione garantire questo. Se un'istruzione influisce su più righe, SQLExecute o SQLExecDirect restituisce SQLSTATE 01001 [Conflitto dell'operazione 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 influiscano su una sola riga quando il cursore è un cursore dinamico. Il driver esegue sempre tali istruzioni, anche se potrebbero influire su più righe, ad esempio quando non è presente una chiave univoca. Se un'istruzione influisce su più righe, SQLExecute o SQLExecDirect restituisce SQLSTATE 01001 [Conflitto dell'operazione 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 influiscano su una sola riga quando il cursore è un cursore dinamico. Se il driver non può garantire questo valore per una determinata istruzione, SQLExecDirect o SQLPrepare restituiscono SQLSTATE 01001 (conflitto dell'operazione di 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" se non lo fa.
SQL_FILE_USAGE 2.0 Valore SQLUSMALLINT che indica come un driver a livello singolo gestisce 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 tratta 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 tratta ogni file Microsoft Access come un database completo.

Un'applicazione potrebbe utilizzarla per determinare il modo in cui gli utenti selezioneranno i dati. Ad esempio, gli utenti di Xbase spesso considerano i dati archiviati nei file, mentre gli utenti di ORACLE e Microsoft Access in genere considerano i dati archiviati nelle tabelle.

Quando un utente seleziona un'origine dati Xbase, l'applicazione potrebbe visualizzare la finestra di dialogo Comune Apri file di Windows. 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 supportato 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" per "cursore dinamico" nelle descrizioni).
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 3.0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore forward-only supportato 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" per "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 quali estensioni comuni supportano il driver per SQLGetData:
SQL_GD_ANY_COLUMN = SQLGetData può essere chiamato per qualsiasi colonna non associata, incluse quelle prima dell'ultima colonna associata. Si noti che le colonne devono essere chiamate in ordine crescente, a meno che non venga restituito anche SQL_GD_ANY_ORDER.
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 che non venga restituito anche SQL_GD_ANY_COLUMN.
SQL_GD_BLOCK = SQLGetData può essere chiamato per una colonna non associata in qualsiasi riga di un blocco (in cui la dimensione del set di righe è maggiore di 1) di 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 anche 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 chiamate in ordine di numero di colonna crescente e non si trovano in una riga in un blocco di righe.

Se un driver supporta i segnalibri (a lunghezza fissa o a lunghezza variabile), deve supportare la chiamata a SQLGetData nella colonna 0. Questo supporto è necessario indipendentemente dal risultato restituito dal driver per una chiamata a SQLGetInfo con il 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 raggruppate 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 = 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 raggruppate 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 raggruppate nell'elenco di selezione. Può contenere colonne non incluse 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 l'elenco di selezione non sono correlate. Il significato delle colonne non raggruppate e non raggruppate nell'elenco di selezione è dipendente dall'origine dati. Ad esempio, SELECT DEPT, SALARY FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)

Un driver conforme al livello di ingresso SQL-92 restituirà sempre l'opzione SQL_GB_GROUP_BY_EQUALS_SELECT come supportata. Un driver conforme a livello completo di SQL-92 restituirà sempre l'opzione SQL_GB_COLLATE come supportata. Se nessuna delle opzioni è supportata, la clausola GROUP BY non è supportata dall'origine dati.
SQL_IDENTIFIER_CASE 1.0 Un valore SQLUSMALLINT come indicato di seguito:
SQL_IC_UPPER = Gli identificatori in SQL non fanno distinzione tra maiuscole e minuscole e vengono archiviati in lettere maiuscole nel catalogo di sistema.
SQL_IC_LOWER = Gli identificatori in SQL non fanno distinzione tra maiuscole e minuscole e vengono archiviati in caratteri minuscoli nel catalogo di sistema.
SQL_IC_SENSITIVE = Gli identificatori in SQL fanno distinzione tra maiuscole e minuscole e vengono archiviati in maiuscole e minuscole nel catalogo di sistema.
SQL_IC_MIXED = Gli identificatori in SQL non fanno distinzione tra maiuscole e minuscole e vengono archiviati in maiuscole e minuscole nel catalogo di sistema.

Poiché gli identificatori in SQL-92 non fanno mai distinzione tra maiuscole e minuscole, un driver conforme rigorosamente a SQL-92 (qualsiasi livello) non restituirà mai l'opzione SQL_IC_SENSITIVE come supportata.
SQL_IDENTIFIER_QUOTE_CHAR 1.0 Stringa di caratteri utilizzata come delimitatore iniziale e finale di un identificatore delimitato (delimitato) tra virgolette nelle istruzioni SQL. 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 le virgolette degli argomenti della funzione di catalogo quando l'attributo di connessione SQL_ATTR_METADATA_ID è impostato su SQL_TRUE.

Poiché il carattere di virgoletta identificatore in SQL-92 è la virgoletta doppia ("), un driver conforme rigorosamente 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 supportata dal driver:
SQL_IK_NONE = Nessuna delle parole chiave è supportata.
SQL_IK_ASC = parola chiave ASC è supportata.
SQL_IK_DESC = parola chiave DESC è supportata.
SQL_IK_ALL = Sono supportate tutte le parole chiave.

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

Il livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Per determinare quali visualizzazioni sono supportate, vengono usate le maschera di bit seguenti:
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 a cui è possibile accedere 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 è possibile accedere da un determinato utente. (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 transitorio FIPS)
SQL_ISV_COLUMNS = Identifica le colonne di tabelle persistenti a cui è possibile accedere da un determinato utente. (livello transitorio FIPS)
SQL_ISV_CONSTRAINT_COLUMN_USAGE = Analogamente alla vista 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 (referenziale, univoco e asserzioni) e sono di proprietà di un determinato utente. (Livello intermedio)
SQL_ISV_DOMAIN_CONSTRAINTS = Identifica i vincoli di dominio (dei domini nel catalogo) a cui è possibile accedere da un determinato utente. (Livello intermedio)
SQL_ISV_DOMAINS = Identifica i domini definiti in un catalogo accessibile dall'utente. (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 referenziale 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 livelli, le opzioni e i dialetti di conformità SQL 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 transitorio FIPS)
SQL_ISV_TABLES = Identifica le tabelle persistenti definite in un catalogo accessibile da un determinato utente. (livello transitorio FIPS)
SQL_ISV_TRANSLATIONS = Identifica le traduzioni di caratteri per il catalogo a cui è possibile accedere 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 transitorio FIPS)
SQL_ISV_VIEW_COLUMN_USAGE = Identifica le colonne in cui dipendono le viste del catalogo di proprietà di un determinato utente. (Livello intermedio)
SQL_ISV_VIEW_TABLE_USAGE = Identifica le tabelle in 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 a cui è possibile accedere da un determinato utente. (livello transitorio 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 driver conforme al livello di ingresso di SQL-92 restituirà sempre tutte queste opzioni come supportate.
SQL_INTEGRITY 1.0 Stringa di caratteri: "Y" se l'origine dati supporta la funzionalità di miglioramento dell'integrità; "N" se non lo fa.

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_ODBC_SQL_OPT_IEF.
SQL_KEYSET_CURSOR_ATTRIBUTES1 3.0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore keyset supportato 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" per "cursore dinamico" nelle descrizioni).

Un driver conforme a livello intermedio SQL-92 restituisce in genere le opzioni SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE supportate, perché il driver supporta i cursori scorrevoli tramite l'istruzione SQL FETCH incorporata. Poiché ciò non determina direttamente il supporto SQL sottostante, tuttavia, i cursori scorrevoli potrebbero non essere supportati, anche per un driver conforme a livello intermedio SQL-92.
SQL_KEYSET_CURSOR_ATTRIBUTES2 3.0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore keyset supportato 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" per "cursore dinamico" nelle descrizioni).
SQL_KEYWORDS 2.0 Stringa di caratteri contenente 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 interoperabili non devono usare queste parole nei nomi degli oggetti.

Per un elenco delle parole chiave ODBC, vedere Parole chiave riservate nell'Appendice C: Grammatica SQL. Il valore #define 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 di escape (%) 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, escluso il prefisso letterale e il suffisso restituito 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 conforme a livello completo FIPS restituirà almeno 128.

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_MAX_QUALIFIER_NAME_LEN InfoType ODBC 2.0.
SQL_MAX_CHAR_LITERAL_LEN 2.0 Valore SQLUINTEGER che specifica la lunghezza massima (numero di caratteri, escluso 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 di ingresso FIPS restituirà almeno 18. Un driver conforme al livello FIPS Intermedio 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 esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello di ingresso FIPS restituirà almeno 6. Un driver conforme a 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 esiste alcun limite specificato 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 esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello di ingresso FIPS restituirà almeno 6. Un driver conforme a 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 esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello di ingresso FIPS restituirà almeno 100. Un driver conforme al livello FIPS Intermedio 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 esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello di ingresso FIPS restituirà almeno 100. Un driver conforme al livello FIPS Intermedio 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 come attiva se contiene risultati in sospeso, con il termine "risultati" che significa righe di un'operazione SELECT o 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 esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_ACTIVE_STATEMENTS.
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 di ingresso FIPS restituirà almeno 18. Un driver conforme al livello FIPS Intermedio 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 esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_ACTIVE_CONNECTIONS.
SQL_MAX_IDENTIFIER_LEN 3.0 SQLUSMALLINT che indica la dimensione massima in caratteri supportati dall'origine dati per i nomi definiti dall'utente.

Un driver conforme al livello di ingresso FIPS restituirà almeno 18. Un driver conforme al livello FIPS Intermedio 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 esiste alcun limite specificato 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 esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello di ingresso FIPS restituirà almeno 2.000. Un driver conforme a livello intermedio FIPS restituirà almeno 8.000.
SQL_MAX_ROW_SIZE_INCLUDES_LONG 3.0 Stringa di caratteri: "Y" se la dimensione massima della riga restituita per il tipo di informazioni SQL_MAX_ROW_SIZE include 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 di ingresso FIPS restituirà almeno 18. Un driver conforme al livello FIPS Intermedio restituirà almeno 128.

Questo InfoType è stato rinominato per ODBC 3.0 dal SQL_MAX_OWNER_NAME_LEN InfoType ODBC 2.0.
SQL_MAX_STATEMENT_LEN 2.0 Valore SQLUINTEGER che specifica la lunghezza massima (numero di caratteri, incluso lo spazio vuoto) 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 di ingresso FIPS restituirà almeno 18. Un driver conforme al livello FIPS Intermedio 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 esiste alcun limite specificato o il limite è sconosciuto, questo valore viene impostato su zero.

Un driver conforme al livello di ingresso FIPS restituirà almeno 15. Un driver conforme a 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 Più risultati.
SQL_MULTIPLE_ACTIVE_TXN 1.0 Stringa di caratteri: "Y" se il driver supporta più transazioni attive contemporaneamente, "N" se una sola transazione può essere attiva 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 lungo (il tipo di dati è SQL_LONGVARCHAR, SQL_LONGVARBINARY o un tipo di dati specifico dell'origine dati long) prima che tale valore venga inviato all'origine dati, "N" in caso contrario. 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 Vincolo di colonna NOT NULL nelle istruzioni CREATE TABLE .

Un driver conforme al livello di ingresso SQL-92 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 alla fine superiore del set di risultati, a seconda delle parole chiave ASC o DESC.
SQL_NC_LOW = I VALORI NULL vengono ordinati alla fine inferiore 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 viene 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.

Per determinare quali funzioni numeriche sono supportate vengono usate le maschera di bit seguenti:
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* con cui il driver è conforme.

SQL_OIC_CORE: livello minimo di conformità di tutti i driver ODBC. Questo livello include elementi di interfaccia di base, ad esempio funzioni di connessione, funzioni per la preparazione e l'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à standard di base, oltre a cursori scorrevoli, segnalibri, aggiornamenti posizionati ed eliminazioni e così via.
SQL_OIC_LEVEL2: un livello che include funzionalità del livello di conformità standard di livello 1, oltre a funzionalità avanzate come cursori sensibili; aggiornare, eliminare e aggiornare i segnalibri; supporto della stored procedure; funzioni di catalogo per chiavi primarie ed esterne; supporto multi-catalogo; 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 è del formato ##.#.0000, dove le prime due cifre sono la versione principale e le due cifre successive 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. Per determinare quali tipi sono supportati, vengono usate le maschera di bit seguenti:
SQL_OJ_LEFT = Sono supportati i left outer join.
SQL_OJ_RIGHT = Sono supportati i right outer join.
SQL_OJ_FULL = Sono supportati i outer join completi.
SQL_OJ_NESTED = Sono supportati i 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 destra in un left outer join o la tabella sinistra in un outer join destro) può essere usata anche in un inner join. Questo non si applica ai 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, è possibile usare solo l'operatore di confronto equals (=) nei outer join.

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

Per informazioni sul supporto degli operatori di 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 trovarsi nell'elenco di selezione; in caso contrario, "N".
SQL_PARAM_ARRAY_ROW_COUNTS 3.0 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 = I conteggi delle singole righe sono disponibili per ogni set di parametri. Ciò equivale concettualmente al driver che genera un batch di istruzioni SQL, uno per ogni set di parametri nella matrice. È possibile recuperare informazioni estese sull'errore usando il campo descrittore SQL_PARAM_STATUS_PTR.
SQL_PARC_NO_BATCH = È disponibile un solo numero di righe, ovvero il conteggio cumulativo delle righe risultante dall'esecuzione dell'istruzione per l'intera matrice di parametri. Questo equivale concettualmente 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 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 set di parametri. Ciò equivale concettualmente al driver che genera un batch di istruzioni SQL, uno 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. Questo equivale concettualmente a considerare l'istruzione insieme alla matrice di parametri completa come un'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 quali opzioni sono supportate.
SQL_POS_POSITION (ODBC 2.0)
SQL_POS_REFRESH (ODBC 2.0)
SQL_POS_UPDATE (ODBC 2.0)
SQL_POS_DELETE (ODBC 2.0)
SQL_POS_ADD (ODBC 2.0)
SQL_PROCEDURE_TERM 1.0 Stringa di caratteri con il nome del fornitore dell'origine dati per una routine; ad esempio "stored 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 alla procedura ODBC; "N" in caso contrario.
SQL_QUOTED_IDENTIFIER_CASE 2.0 Un valore SQLUSMALLINT come indicato di seguito:
SQL_IC_UPPER = Gli identificatori delimitati in SQL non fanno distinzione tra maiuscole e minuscole e vengono archiviati in lettere maiuscole nel catalogo di sistema.
SQL_IC_LOWER = Gli identificatori tra virgolette in SQL non fanno distinzione tra maiuscole e minuscole e vengono archiviati in lettere minuscole nel catalogo di sistema.
SQL_IC_SENSITIVE = Gli identificatori tra virgolette in SQL fanno distinzione tra maiuscole e minuscole e vengono archiviati nel catalogo di sistema. In un database conforme a SQL 92, gli identificatori tra virgolette fanno sempre distinzione tra maiuscole e minuscole.
SQL_IC_MIXED = Gli identificatori tra virgolette in SQL non fanno distinzione tra maiuscole e minuscole e vengono archiviati nel catalogo di sistema.

Un driver conforme al livello di ingresso SQL-92 restituirà sempre SQL_IC_SENSITIVE.
SQL_ROW_UPDATES 1.0 Stringa di caratteri: "Y" se un cursore basato su keyset o misto mantiene versioni di riga o valori per tutte le righe recuperate e pertanto può rilevare eventuali aggiornamenti apportati a una riga da qualsiasi utente dopo l'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, inferiori o maiuscole/minuscole.

Un driver conforme al livello di ingresso di SQL-92 restituirà sempre "schema".

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_OWNER_TERM.
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 del linguaggio di manipolazione dei dati: SELECT, INSERT, UPDATE, DELETE e, se supportato, 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 conforme al livello di ingresso SQL-92 restituirà sempre le opzioni di SQL_SU_DML_STATEMENTS, SQL_SU_TABLE_DEFINITION e SQL_SU_PRIVILEGE_DEFINITION, come supportato.

Questo InfoType è stato rinominato per ODBC 3.0 da ODBC 2.0 InfoType SQL_OWNER_USAGE.
SQL_SCROLL_OPTIONS 1.0 Nota: il tipo di informazioni è stato introdotto in ODBC 1.0; ogni maschera di bit viene etichettata con la versione in cui è stata introdotta.

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

Per determinare quali opzioni sono supportate, vengono usate le maschera di bit seguenti:
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 (la dimensione del set di chiavi corrisponde alla dimensione 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 il supporto del driver come carattere di escape che consente l'uso dei metacharacter di corrispondenza dei criteri di sottolineatura (_) e del segno di percentuale (%) come caratteri validi nei criteri di ricerca. Questo carattere di escape si applica solo per gli 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 dei criteri di ricerca, vedere Argomenti del valore del 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 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 = Conforme a SQL-92 a livello di voce.
SQL_SC_FIPS127_2_TRANSITIONAL = conforme al livello transitorio FIPS 127-2.
SQL_SC_SQL92_FULL = Conforme a SQL-92 di livello completo.
SQL_SC_ SQL92_INTERMEDIATE = Conforme a SQL-92 di livello intermedio.
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 quali clausole sono 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 quali clausole sono supportate dall'origine dati:
SQL_SFKU_CASCADE
SQL_SFKU_NO_ACTION
SQL_SFKU_SET_DEFAULT
SQL_SFKU_SET_NULL

Un driver conforme a livello completo di SQL-92 restituirà sempre tutte queste opzioni come supportate.
SQL_SQL92_GRANT 3.0 Maschera di bit SQLUINTEGER che enumera le clausole supportate nell'istruzione GRANT , come definito in SQL-92.

Il livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare quali clausole sono 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 transitorio FIPS)
SQL_SG_USAGE_ON_CHARACTER_SET (livello transitorio FIPS)
SQL_SG_USAGE_ON_COLLATION (livello transitorio 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 dei valori numerici supportate dal driver e dall'origine dati associata, come definito in SQL-92.

Per determinare quali funzioni numeriche sono supportate vengono usate le maschera di bit seguenti:
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 livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare quali opzioni sono 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 transitorio 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 relazionali supportati in un'istruzione SELECT , come definito in SQL-92.

Il livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare quali opzioni sono 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 transitorio FIPS)
SQL_SRJO_INTERSECT_JOIN (livello intermedio)
SQL_SRJO_LEFT_OUTER_JOIN (livello di transizione FIPS)
SQL_SRJO_NATURAL_JOIN (livello transitorio 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 funzionalità inner join. Il supporto per la sintassi INNER JOIN è FIPS TRANSITIONAL, mentre il supporto per la funzionalità inner join è 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 livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare quali clausole sono supportate dall'origine dati:
SQL_SR_CASCADE (livello transitorio 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 transitorio 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 transitorio FIPS)
SQL_SR_USAGE_ON_CHARACTER_SET (livello transitorio FIPS)
SQL_SR_USAGE_ON_COLLATION (livello di transizione FIPS)
SQL_SR_USAGE_ON_TRANSLATION (livello transitorio FIPS)
SQL_SQL92_ROW_VALUE_CONSTRUCTOR 3.0 Maschera di bit SQLUINTEGER che enumera le espressioni del costruttore di valori di riga supportate in un'istruzione SELECT , come definito in SQL-92. Le maschera di bit seguenti vengono usate per determinare quali opzioni sono 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 stringa supportate dal driver e dall'origine dati associata, come definito in SQL-92.

Per determinare quali funzioni stringa sono supportate, vengono usate le maschera di bit seguenti:
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 livello di conformità SQL-92 o FIPS in cui questa funzionalità deve essere supportata viene visualizzata tra parentesi accanto a ogni maschera di bit.

Le maschera di bit seguenti vengono usate per determinare quali opzioni sono supportate dall'origine dati:
SQL_SVE_CASE (livello intermedio)
SQL_SVE_CAST (livello transitorio 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. Per determinare i livelli con cui il driver è conforme, vengono usate le maschera di bit seguenti:
SQL_SCC_XOPEN_CLI_VERSION1: il driver è conforme all'interfaccia della riga di comando 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 supportato 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" per "cursore dinamico" nelle descrizioni).

Un driver conforme a livello intermedio SQL-92 restituisce in genere le opzioni SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE supportate, perché il driver supporta i cursori scorrevoli tramite l'istruzione SQL FETCH incorporata. Poiché ciò non determina direttamente il supporto SQL sottostante, tuttavia, i cursori scorrevoli potrebbero non essere supportati, anche per un driver conforme a livello intermedio SQL-92.
SQL_STATIC_CURSOR_ATTRIBUTES2 3.0 Maschera di bit SQLUINTEGER che descrive gli attributi di un cursore statico supportato 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" per "cursore dinamico" nelle descrizioni).
SQL_STRING_FUNCTIONS 1.0 Nota: il tipo di informazioni è stato introdotto in ODBC 1.0; ogni maschera di bit viene etichettata con la versione in cui è stata introdotta.

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

Per determinare quali funzioni stringa sono supportate, vengono usate le maschera di bit seguenti:
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 maschera di bit SQL_FN_STR_LOCATE. Se un'applicazione può chiamare la funzione scalare LOCATE solo con gli argomenti string_exp1 e string_exp2 , il driver restituisce la maschera di bit SQL_FN_STR_LOCATE_2. 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 sottoquery:
SQL_SQ_CORRELATED_SUBQUERIES
SQL_SQ_COMPARISON
SQL_SQ_EXISTS
SQL_SQ_INSQL_SQ_QUANTIFIED

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

Un driver conforme al livello di ingresso DI SQL-92 restituirà sempre una maschera di bit in cui vengono 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.

Per determinare quali funzioni di sistema sono supportate vengono usate le maschera di bit seguenti:
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, inferiori o miste.

Un driver conforme al livello di ingresso di SQL-92 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 quali intervalli sono 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 vengono 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 quali intervalli sono 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 vengono impostati tutti questi bit.
SQL_TIMEDATE_FUNCTIONS 1.0 Nota: il tipo di informazioni è stato introdotto in ODBC 1.0; ogni maschera di bit viene etichettata con la versione in cui è stata introdotta.

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

Per determinare quali funzioni di data e ora sono supportate vengono usate le maschera di bit seguenti:
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 viene etichettato con la versione in cui è stata introdotta.

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) rilevate 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) rilevate 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 rilevate 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_OPZIONE_ISOLAMENTO_TXN 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 delle transazioni, un'applicazione chiama SQLSetConnectAttr per impostare l'attributo SQL_ATTR_TXN_ISOLATION. Per altre informazioni, vedere Funzione SQLSetConnectAttr.

Un driver conforme al livello di ingresso SQL-92 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 conforme al livello di ingresso di SQL-92 restituirà sempre entrambe queste opzioni come supportate.
SQL_USER_NAME 1.0 Stringa di caratteri con il nome usato 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 usata insieme al flag per determinare se l'opzione è supportata.

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

Per un altro esempio dell'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 SQLGetConnectAttr

Determinare se un driver supporta una funzione
Funzione SQLGetFunctions

Restituzione dell'impostazione di un attributo di istruzione
Funzione SQLGetStmtAttr

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

Vedi anche

Riferimento API ODBC
File di intestazione ODBC