Meningkatkan Driver 3.5 ke Driver 3.8

Topik ini memberikan panduan dan pertimbangan untuk meningkatkan driver ODBC 3.5 ke driver ODBC 3.8.

Nomor Versi

Panduan berikut berkaitan dengan nomor versi:

  • Driver harus mendukung SQL_OV_ODBC3_80 untuk SQL_ATTR_ODBC_VERSION, mengembalikan SQL_ERROR untuk nilai selain SQL_OV_ODBC2, SQL_OV_ODBC3, dan SQL_OV_ODBC3_80. Versi Driver Manager di masa mendatang akan mengasumsikan bahwa driver mendukung tingkat kepatuhan ODBC jika driver mengembalikan SQL_SUCCESS dari Fungsi SQLSetEnvAttr.

  • Driver versi 3.8 harus mengembalikan 03.80 dari SQLGetInfo ketika SQL_DRIVER_ODBC_VER diteruskan ke InfoType. Namun, Driver Manager yang lebih lama, yang disertakan dalam versi Microsoft Windows yang lebih lama, akan memperlakukan driver sebagai driver versi 3.5, dan mengeluarkan peringatan.

    Di Windows 7, versi Driver Manager adalah 03.80. Di Windows 8, versi Driver Manager adalah 03.81 melalui SQL_DM_VER SQLGetInfo (parameter InfoType ). SQL_ODBC_VER melaporkan versi sebagai 03.80 di Windows 7 dan Windows 8.

Jenis Data C Khusus Driver

Driver dapat menyesuaikan jenis data C saat bekerja dengan aplikasi ODBC versi 3.8. (Untuk informasi selengkapnya, lihat Tipe Data C di ODBC.) Namun, tidak ada persyaratan bagi driver 3.8 untuk menerapkan jenis C khusus driver apa pun. Tetapi driver masih harus melakukan pemeriksaan rentang jenis C; Driver Manager tidak akan melakukan itu untuk 3.8 driver. Untuk memfasilitasi pengembangan driver, nilai driver spesifik, jenis data C dapat ditentukan dalam format berikut:

SQL_DRIVER_C_TYPE_BASE+0, SQL_DRIVER_C_TYPE_BASE+1  
Jenis Data khusus driver, Jenis Deskriptor, Jenis Informasi, Jenis Diagnostik, dan Atribut

Saat mengembangkan driver baru, Anda harus menggunakan rentang khusus driver untuk jenis data, jenis deskriptor, jenis informasi, jenis diagnostik, dan atribut. Rentang khusus driver dan nilai jenis dasarnya dibahas dalam Jenis Data Khusus Driver, Jenis Deskriptor, Jenis Informasi, Jenis Diagnostik, dan Atribut.

Pengumpulan Koneksi

Untuk manajemen pengumpulan koneksi yang lebih baik, ODBC 3.8 memperkenalkan atribut koneksi SQL_ATTR_RESET_CONNECTION di SQLSet Koneksi Attr. SQL_RESET_CONNECTION_YES adalah satu-satunya nilai yang valid untuk atribut ini. SQL_ATTR_RESET_CONNECTION akan diatur tepat sebelum Driver Manager menempatkan koneksi di kumpulan koneksi, memungkinkan driver untuk mengatur ulang atribut koneksi lainnya ke nilai defaultnya.

Untuk menghindari komunikasi yang tidak perlu dengan server, driver dapat menunda reset atribut koneksi hingga komunikasi berikutnya dengan server jarak jauh, setelah koneksi digunakan kembali dari kumpulan.

Perhatikan bahwa SQL_ATTR_RESET_CONNECTION hanya digunakan dalam komunikasi antara Driver Manager dan driver. Aplikasi tidak dapat mengatur atribut ini secara langsung. Semua driver versi 3.8 harus menerapkan atribut koneksi ini.

Parameter Output yang Dialirkan

ODBC versi 3.8 memperkenalkan parameter output yang dialirkan, cara yang lebih dapat diskalakan untuk mengambil parameter output. (Untuk informasi selengkapnya, lihat Mengambil Parameter Output Menggunakan SQLGetData.) Untuk mendukung fitur ini, driver harus mengatur SQL_GD_OUTPUT_PARAMS dalam nilai pengembalian saat SQL_GETDATA_EXTENSIONS adalah InfoType dalam panggilan SQLGetInfo . Dukungan untuk jenis SQL dengan parameter output yang dialirkan harus diimplementasikan dalam driver. Manajer Driver tidak akan menghasilkan kesalahan untuk jenis SQL yang tidak valid. Jenis SQL yang mendukung parameter output yang dialirkan ditentukan dalam driver.

Driver harus mengembalikan SQL_ERROR jika aplikasi menggunakan SQLGetData untuk mengambil parameter yang tidak sama dengan parameter yang dikembalikan oleh SQLParamData.

Eksekusi Asinkron untuk Operasi Koneksi ion (Metode Polling)

Driver dapat mengaktifkan dukungan asinkron untuk berbagai operasi koneksi.

Dimulai di Windows 7, ODBC mendukung metode polling (untuk informasi selengkapnya, lihat Eksekusi Asinkron (Metode Polling). Tidak ada persyaratan untuk driver ODBC versi 3.8 untuk menerapkan operasi asinkron pada handel koneksi. Bahkan jika driver tidak menerapkan operasi asinkron pada handel koneksi, driver harus tetap menerapkan SQL_ASYNC_DBC_FUNCTIONS InfoType dan mengembalikan SQL_ASYNC_DBC_NOT_CAPABLE.

Ketika operasi koneksi asinkron diaktifkan, waktu berjalan operasi koneksi adalah total waktu semua panggilan berulang. Jika panggilan berulang terakhir terjadi setelah total waktu melebihi nilai yang ditetapkan oleh atribut koneksi SQL_ATTR_CONNECTION_TIMEOUT, dan operasi belum selesai, driver mengembalikan SQL_ERROR dan mencatat catatan diagnostik dengan SQLState HYT01 dan pesan "batas waktu Koneksi ion kedaluwarsa". Tidak ada batas waktu jika operasi selesai.

Fungsi SQLCancelHandle

ODBC 3.8 mendukung Fungsi SQLCancelHandle, yang digunakan untuk membatalkan operasi koneksi dan pernyataan. Driver yang mendukung SQLCancelHandle harus mengekspor fungsi. Driver tidak boleh membatalkan fungsi koneksi sinkron atau asinkron yang sedang berlangsung jika aplikasi memanggil SQLCancel atau SQLCancelHandle pada handel pernyataan. Demikian pula, driver tidak boleh membatalkan fungsi pernyataan sinkron atau asinkron yang sedang berlangsung jika aplikasi memanggil SQLCancelHandle pada handel koneksi. Selain itu, driver tidak boleh membatalkan operasi penjelajahan (SQLBrowse Koneksi mengembalikan SQL_NEED_DATA) jika aplikasi memanggil SQLCancelHandle pada handel koneksi. Dalam kasus ini, driver harus mengembalikan HY010, "kesalahan urutan fungsi".

Tidak perlu mendukung operasi koneksi SQLCancelHandle dan asinkron secara bersamaan. Driver dapat mendukung operasi koneksi asinkron tetapi tidak SQLCancelHandle, atau sebaliknya.

Koneksi yang ditangguhkan

Driver Manager ODBC 3.8 dapat menempatkan koneksi ke status ditangguhkan. Aplikasi akan memanggil SQLDisconnect untuk merilis sumber daya yang terkait dengan koneksi. Dalam hal ini, driver harus mencoba merilis sumber daya sebanyak mungkin tanpa memeriksa status koneksi. Untuk informasi selengkapnya tentang status ditangguhkan, lihat Fungsi SQLEndTran.

Pengumpulan Sambungan Sadar Driver

ODBC di Windows 8 memungkinkan driver untuk menyesuaikan perilaku kumpulan koneksi. Untuk informasi selengkapnya, lihat Pengumpulan Koneksi sadar driver.

Eksekusi Asinkron (Metode Pemberitahuan)

ODBC 3.8 mendukung metode pemberitahuan untuk operasi asinkron, yang tersedia dimulai pada Windows 8. Untuk informasi selengkapnya, lihat Eksekusi Asinkron (Metode Pemberitahuan).

Lihat Juga

Mengembangkan Driver ODBC
Driver ODBC yang Disediakan Microsoft
Apa yang Baru di ODBC 3.8