Condividi tramite


Matrice di compatibilità

La tabella seguente descrive la compatibilità dei tipi di applicazioni e driver definiti in precedenza in questa sezione.

Tipo di applicazione

e versione
ODBC 32-bit

Driver 2.x
ODBC 3.x

driver
Driver ODBC 3.8 Driver conforme agli standard ISO e di Open Group
Applicazione a 16 bit, qualsiasi versione Compatibile Compatibile Compatibile Compatibile
Applicazione pura 2.x Compatibile Compatibile Compatibile Non compatibile[3]
Applicazione ricompilata puramente 2.x Compatibile Compatibile[1] Compatibile[1] Non compatibile[3]
Applicazione Unicode pure 2.x Compatibile Compatibile[1] Compatibile[1] Non compatibile[3]
Applicazione conforme a Pure Open Group e ISO Non compatibile Compatibile[2] Compatibile[2] Compatibile[2]
Applicazione pure 3.0 Non compatibile Compatibile Compatibile Non compatibile[4]
Applicazione Pure 3.5 Non compatibile Compatibile Compatibile Non compatibile[4]
Applicazione pura 3.8 (o successiva) Non compatibile [5] Non compatibile [5] Compatibile Non compatibile [4]
Applicazione sostituita Compatibile Compatibile Compatibile Non compatibile[3]

[1] L'applicazione deve ricompilare usando intestazioni ODBC 3.5 (o successive) con l'opzione UNICODE (se si tratta di un'applicazione Unicode) e deve impostare ODBCVER su 0x0250.

[2] L'applicazione deve essere compilata usando le intestazioni ODBC 3.5 (o versioni superiori) e collegarsi al Gestore driver ODBC. Deve anche impostare il flag di intestazione ODBC_STD.

[3] Questa configurazione può potenzialmente non funzionare perché esistono funzionalità di ODBC 2.x non conformi agli standard, ad esempio i segnalibri.

[4] Questa configurazione può potenzialmente non funzionare perché sono presenti funzionalità in ODBC 3.x non conformi agli standard, ad esempio segnalibri.

[5] Questa configurazione può avere esito negativo perché in ODBC 3.8 sono presenti funzionalità che non si trovano nei driver ODBC 2.x o 3.x, ad esempio tipi di dati C specifici del driver in ODBC.

Compatibilità del Gestore driver

Un'applicazione ODBC 3.0 che deve funzionare con tutte le versioni di Gestione driver deve eseguire le operazioni seguenti all'avvio:

  • Allocare un handle di ambiente.

  • Impostare l'attributo di ambiente SQL_ATTR_ODBC_VERSION su SQL_OV_ODBC3_80. Se Gestione driver restituisce SQL_ERROR, Gestione driver è precedente alla 3.8. Reimpostare SQL_ATTR_ODBC_VERSION a SQL_OV_ODBC3 o SQL_OV_ODBC2, come appropriato, per corrispondere al Driver Manager.

  • Allocare un handle di connessione.

  • Stabilire una connessione.

  • Chiamare SQLGetInfo per SQL_DRIVER_ODBC_VER per determinare la versione del driver. Se il driver è un driver ODBC 3.8, è possibile usare tipi C specifici del driver. In caso contrario, non usare tipi di dati C specifici per il driver.

Si noti che un'applicazione ODBC 3.x ricompilata può usare funzionalità ODBC 3.8 diverse dai tipi C specifici del driver senza specificare SQL_OV_ODBC3_80 per SQL_ATTR_ODBC_VERSION. È simile a un'applicazione ODBC 2.x ricompilata che usa le funzionalità ODBC 3.x.

Uso di SQLCancelHandle in un'applicazione compatibile con tutti i gestori driver

Poiché la funzione SQLCancelHandle non è supportata nelle gestioni driver rilasciate prima di Windows 7, non è possibile caricare un'applicazione nelle versioni precedenti di Windows se chiama direttamente SQLCancelHandle . Per usare tutte le versioni di Gestori driver e usare SQLCancelHandle nelle nuove versioni di Windows, un'applicazione deve chiamare indirettamente SQLCancelHandle usando LoadLibrary e GetProcAddress.

Vedere anche

Novità di ODBC 3.8