Matriks Kompatibilitas
Tabel berikut menjelaskan kompatibilitas jenis aplikasi dan driver yang ditentukan sebelumnya di bagian ini.
Jenis aplikasi dan versi |
ODBC 32-bit Driver 2.x |
ODBC 3.x driver |
Driver ODBC 3.8 | Driver yang mematuhi ISO dan Buka Grup |
---|---|---|---|---|
Aplikasi 16-bit, versi apa pun | Kompatibel | Kompatibel | Kompatibel | Kompatibel |
Aplikasi Pure 2.x | Kompatibel | Kompatibel | Kompatibel | Tidak kompatibel[3] |
Aplikasi kompilasi ulang Pure 2.x | Kompatibel | Kompatibel[1] | Kompatibel[1] | Tidak kompatibel[3] |
Aplikasi Unicode Pure 2.x | Kompatibel | Kompatibel[1] | Kompatibel[1] | Tidak Kompatibel[3] |
Pure Open Group dan aplikasi yang sesuai dengan ISO | Tidak kompatibel | Kompatibel[2] | Kompatibel[2] | Kompatibel[2] |
Aplikasi Pure 3.0 | Tidak kompatibel | Kompatibel | Kompatibel | Tidak kompatibel[4] |
Aplikasi Pure 3.5 | Tidak kompatibel | Kompatibel | Kompatibel | Tidak kompatibel[4] |
Aplikasi Pure 3.8 (atau lebih tinggi) | Tidak kompatibel [5] | Tidak kompatibel [5] | Kompatibel | Tidak kompatibel [4] |
Aplikasi yang diganti | Kompatibel | Kompatibel | Kompatibel | Tidak kompatibel[3] |
[1] Aplikasi harus mengkompilasi ulang menggunakan header ODBC 3.5 (atau lebih tinggi) dengan opsi UNICODE (jika merupakan aplikasi Unicode) dan harus mengatur ODBCVER ke 0x0250.
[2] Aplikasi harus mengkompilasi menggunakan header ODBC 3.5 (atau lebih tinggi) dan menautkan dengan ODBC Driver Manager. Ini juga harus mengatur bendera header ODBC_STD.
[3] Konfigurasi ini berpotensi gagal berfungsi karena ada fitur dalam ODBC 2.x yang tidak ada dalam standar, seperti bookmark.
[4] Konfigurasi ini berpotensi gagal berfungsi karena ada fitur dalam ODBC 3.x yang tidak ada dalam standar, seperti bookmark.
[5] Konfigurasi ini berpotensi gagal karena ada fitur di ODBC 3.8 yang tidak ada di driver ODBC 2.x atau 3.x, seperti Jenis Data C khusus driver di ODBC.
Kompatibilitas Manajer Driver
Aplikasi ODBC 3.0 yang harus beroperasi dengan semua versi Driver Manager harus melakukan hal berikut saat startup:
Mengalokasikan handel lingkungan.
Atur atribut lingkungan SQL_ATTR_ODBC_VERSION ke SQL_OV_ODBC3_80. Jika Driver Manager mengembalikan SQL_ERROR, Driver Manager lebih lama dari 3,8. Atur ulang SQL_ATTR_ODBC_VERSION ke SQL_OV_ODBC3 atau SQL_OV_ODBC2, sesuai dengan Manajer Driver.
Alokasikan handel koneksi.
Buat koneksi.
Panggil SQLGetInfo untuk SQL_DRIVER_ODBC_VER untuk menentukan versi driver. Jika driver adalah driver ODBC 3.8, Anda dapat menggunakan jenis C khusus driver. Jika tidak, jangan gunakan jenis data C khusus driver.
Perhatikan bahwa aplikasi ODBC 3.x yang dikompresi ulang dapat menggunakan fitur ODBC 3.8 selain jenis C khusus driver tanpa menentukan SQL_OV_ODBC3_80 untuk SQL_ATTR_ODBC_VERSION. Ini mirip dengan aplikasi ODBC 2.x yang dikompresi ulang menggunakan fitur ODBC 3.x.
Menggunakan SQLCancelHandle dalam Aplikasi yang Kompatibel dengan semua Manajer Driver
Karena Fungsi SQLCancelHandle tidak didukung di Manajer Driver yang dirilis sebelum Windows 7, aplikasi tidak dapat dimuat di versi Windows yang lebih lama jika memanggil SQLCancelHandle secara langsung. Untuk bekerja dengan semua versi Driver Manager dan menggunakan SQLCancelHandle pada versi baru Windows, aplikasi harus memanggil SQLCancelHandle secara tidak langsung dengan menggunakan LoadLibrary dan GetProcAddress.