Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.