Jenis Data C di ODBC

ODBC mendefinisikan jenis data C yang digunakan oleh variabel aplikasi dan pengidentifikasi jenis yang sesuai. Ini digunakan oleh buffer yang terikat ke kolom tataan hasil dan parameter pernyataan. Misalnya, aplikasi ingin mengambil data dari kolom kumpulan hasil dalam format karakter. Ini mendeklarasikan variabel dengan jenis data SQLCHAR * dan mengikat variabel ini ke kolom kumpulan hasil dengan pengidentifikasi jenis SQL_C_CHAR. Untuk daftar lengkap jenis data C dan pengidentifikasi jenis, lihat Lampiran D: Jenis Data.

ODBC juga menentukan pemetaan default dari setiap jenis data SQL ke jenis data C. Misalnya, bilangan bulat 2-byte di sumber data dipetakan ke bilangan bulat 2-byte dalam aplikasi. Untuk menggunakan pemetaan default, aplikasi menentukan pengidentifikasi jenis SQL_C_DEFAULT. Namun, penggunaan pengidentifikasi ini tidak disarankan karena alasan interoperabilitas.

Semua jenis data C bilangan bulat yang ditentukan dalam ODBC 1.x ditandatangani. Jenis data C yang tidak ditandatangani dan pengidentifikasi jenis terkait ditambahkan di ODBC 2.0. Karena itu, aplikasi dan driver harus sangat berhati-hati saat berhadapan dengan versi 1.x .

Ekstensibilitas Tipe Data C

Di ODBC 3.8, Anda dapat menentukan jenis data C khusus driver. Ini memungkinkan Anda untuk mengikat jenis SQL sebagai jenis C khusus driver dalam aplikasi ODBC saat Anda memanggil SQLBindCol, SQLGetData, atau SQLBindParameter. Ini dapat berguna untuk mendukung jenis server baru, karena jenis data C yang ada mungkin tidak mewakili jenis data server baru dengan benar. Menggunakan jenis C khusus driver dapat meningkatkan jumlah konversi yang dapat dilakukan driver.

Misalnya, sistem manajemen database (DBMS) memperkenalkan jenis SQL baru, DATETIMEOFFSET, untuk mewakili tanggal dan waktu dengan informasi zona waktu. Tidak akan ada jenis C tertentu di ODBC yang sesuai dengan DATETIMEOFFSET. Aplikasi harus mengikat DATETIMEOFFSET sebagai SQL_C_BINARY dan mentransmisikannya ke jenis data yang ditentukan pengguna. Dimulai di ODBC 3.8 dengan ekstensibilitas jenis data C, driver dapat menentukan jenis C baru yang sesuai. Misalnya, untuk jenis SQL baru DATETIMEOFFSET, driver dapat menentukan jenis C baru yang sesuai seperti SQL_C_DATETIMEOFFSET. Kemudian, aplikasi dapat mengikat jenis SQL baru sebagai jenis C khusus driver.

Jenis data C didefinisikan dalam driver sebagai berikut:

  • Tingkat kepatuhan ODBC untuk aplikasi, driver ODBC, dan Driver Manager adalah 3.8 (atau lebih tinggi).

  • Rentang data jenis C khusus driver antara 0x4000 dan 0x7FFF.

  • Driver menentukan struktur data yang sesuai dengan jenis C. Ini dapat dilakukan di SDK khusus driver.

Manajer driver tidak akan memvalidasi jenis C yang ditentukan dalam rentang 0x4000 dan 0x7FFF; driver akan melakukan validasi dan konversi jenis data apa pun. Tetapi jika rentang data jenis C yang diteruskan ke manajer driver antara 0x0000 dan 0x3FFF atau antara 0x8000 dan 0xFFFF, manajer driver akan memvalidasi jenis data C.

Catatan

Jenis data C khusus driver harus dijelaskan dalam dokumentasi driver.

Untuk menentukan tingkat kepatuhan ODBC 3.8, aplikasi memanggil SQLSetEnvAttr dengan atribut SQL_ATTR_ODBC_VERSION diatur ke SQL_OV_ODBC3_80. Untuk menentukan versi driver, aplikasi memanggil SQLGetInfo dengan SQL_DRIVER_ODBC_VER.

Untuk informasi selengkapnya tentang ODBC 3.8, lihat Apa yang Baru di ODBC 3.8.

Lihat Juga

Tipe Data C