Tipi di dati specifici del driver, tipi di descrittori, tipi di informazioni, tipi di diagnostica e attributi
I driver possono assegnare valori specifici del driver per quanto segue:
Indicatori di tipo di dati SQL Usati in ParameterType in SQLBindParameter e in DataType in SQLGetTypeInfo e restituiti da SQLColAttribute, SQLColumns, SQLDescribeCol, SQLGetTypeInfo, SQLDescribeParam, SQLProcedureColumns e SQLSpecialColumns.
Campi descrittori Usati in FieldIdentifier in SQLColAttribute, SQLGetDescField e SQLSetDescField.
Campi di diagnostica Usati in DiagIdentifier in SQLGetDiagField e SQLGetDiagRec.
Tipi di informazioni usati in InfoType in SQLGetInfo.
Connessione e attributi di istruzione Questi vengono usati in Attribute in SQLGetConnectAttr, SQLGetStmtAttr, SQLSetConnectAttr e SQLSetStmtAttr.
Per ognuna di queste voci, esistono due insiemi di valori: i valori riservati all'uso da parte di ODBC e i valori riservati all'uso da parte dei driver. Prima di implementare valori specifici del driver, un writer di driver deve richiedere un valore per ogni tipo, campo o attributo specifico del driver da Open Group. Per lo sviluppo di nuovi driver, usare l'intervallo descritto nella tabella seguente. Gestione driver ODBC 3.8 non genererà un errore se viene utilizzato un valore sconosciuto non compreso nell'intervallo descritto di seguito. Tuttavia, le versioni successive di Gestione driver potrebbero generare un errore se vengono ricevuti valori sconosciuti che non rientrano nell'intervallo.
Quando uno di questi valori viene passato a una funzione ODBC, il driver deve verificare se il valore è valido. I driver restituiscono SQLSTATE HYC00 (funzione facoltativa non implementata) per i valori specifici del driver applicabili ad altri driver.
A partire da ODBC 3.8, i writer di driver possono assegnare attributi specifici del driver all'interno di un intervallo riservato.
Nota
Gestione driver ODBC 3.8 non convalida né applica questi intervalli per la compatibilità con le versioni precedenti. Una versione futura di Gestione driver potrebbe tuttavia farlo.
Tipo di attributo | Tipo di dati ODBC | Base dell'intervallo specifico del driver | Limite di intervallo specifico del driver | Costante ODBC per la base dell'intervallo di valori specifici del driver |
---|---|---|---|---|
Indicatori del tipo di dati SQL | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_SQL_TYPE_BASE |
Campi descrittore | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DESCRIPTOR_BASE |
Campi diagnostica | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DIAGNOSTIC_BASE |
Tipi di informazioni | SQLUSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_INFO_TYPE_BASE |
Attributi di connessione | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_CONNECT_ATTR_BASE |
Attributi di istruzione | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_STATEMENT_ATTR_BASE |
Nota
I tipi di dati specifici del driver, i campi descrittori, i campi diagnostica, i tipi di informazioni, gli attributi delle istruzioni e gli attributi di connessione devono essere descritti nella documentazione del driver. Quando uno di questi valori viene passato a una funzione ODBC, il driver deve verificare se il valore è valido. I driver restituiscono SQLSTATE HYC00 (funzione facoltativa non implementata) per i valori specifici del driver applicabili ad altri driver.
I valori di base sono definiti per facilitare lo sviluppo dei driver. Ad esempio, gli attributi di diagnostica specifici del driver possono essere definiti nel formato seguente:
SQL_DRIVER_DIAGNOSTIC_BASE+0, SQL_DRIVER_DIAGNOSTIC_BASE +1
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per