Condividi tramite


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