Jenis Data Khusus Driver, Jenis Deskriptor, Jenis Informasi, Jenis Diagnostik, dan Atribut

Driver dapat mengalokasikan nilai khusus driver untuk hal berikut:

  • Indikator Tipe Data SQL Ini digunakan dalam ParameterType di SQLBindParameter dan dalam DataType di SQLGetTypeInfo dan dikembalikan oleh SQLColAttribute, SQLColumns, SQLDescribeCol, SQLGetTypeInfo, SQLDescribeParam, SQLProcedureColumns, dan SQLSpecialColumns.

  • Bidang Deskriptor Ini digunakan di FieldIdentifier di SQLColAttribute, SQLGetDescField, dan SQLSetDescField.

  • Bidang Diagnostik Ini digunakan dalam DiagIdentifier di SQLGetDiagField dan SQLGetDiagRec.

  • Jenis Informasi Ini digunakan dalam InfoType di SQLGetInfo.

  • Koneksi dan Atribut Pernyataan Ini digunakan dalam Atribut di SQLGet Koneksi Attr, SQLGetStmtAttr, SQLSet Koneksi Attr, dan SQLSetStmtAttr.

Untuk masing-masing item ini, ada dua set nilai: nilai yang dicadangkan untuk digunakan oleh ODBC, dan nilai yang dicadangkan untuk digunakan oleh driver. Sebelum menerapkan nilai khusus driver, penulis driver harus meminta nilai untuk setiap jenis, bidang, atau atribut khusus driver dari Grup Terbuka. Untuk pengembangan driver baru, gunakan rentang yang dijelaskan dalam tabel di bawah ini. Driver Manager ODBC 3.8 tidak akan menghasilkan kesalahan jika nilai yang tidak diketahui digunakan yang tidak dalam rentang yang dijelaskan di bawah ini. Namun, versi Driver Manager yang lebih baru mungkin menghasilkan kesalahan jika nilai yang tidak diketahui diterima yang tidak berada dalam rentang.

Ketika salah satu nilai ini diteruskan ke fungsi ODBC, driver harus memeriksa apakah nilai valid. Driver mengembalikan SQLSTATE HYC00 (Fitur opsional tidak diimplementasikan) untuk nilai khusus driver yang berlaku untuk driver lain.

Dimulai dengan ODBC 3.8, penulis driver dapat mengalokasikan atribut khusus driver dalam rentang yang dipesan.

Catatan

Driver Manager ODBC 3.8 tidak memvalidasi atau memberlakukan rentang ini untuk kompatibilitas mundur. Versi Driver Manager di masa mendatang mungkin memberlakukannya.

Jenis atribut Tipe data ODBC Basis rentang khusus driver Batas rentang khusus driver Konstanta ODBC untuk basis rentang nilai khusus driver
Indikator jenis data SQL SQLSMALLINT 0x4000 0x7FFF SQL_DRIVER_SQL_TYPE_BASE
Bidang deskriptor SQLSMALLINT 0x4000 0x7FFF SQL_DRIVER_DESCRIPTOR_BASE
Bidang diagnostik SQLSMALLINT 0x4000 0x7FFF SQL_DRIVER_DIAGNOSTIC_BASE
Jenis informasi SQLUSMALLINT 0x4000 0x7FFF SQL_DRIVER_INFO_TYPE_BASE
atribut Koneksi ion SQLINTEGER 0x00004000 0x00007FFF SQL_DRIVER_CONNECT_ATTR_BASE
Atribut pernyataan SQLINTEGER 0x00004000 0x00007FFF SQL_DRIVER_STATEMENT_ATTR_BASE

Catatan

Jenis data khusus driver, bidang deskriptor, bidang diagnostik, jenis informasi, atribut pernyataan, dan atribut koneksi harus dijelaskan dalam dokumentasi driver. Ketika salah satu nilai ini diteruskan ke fungsi ODBC, driver harus memeriksa apakah nilai valid. Driver mengembalikan SQLSTATE HYC00 (Fitur opsional tidak diimplementasikan) untuk nilai khusus driver yang berlaku untuk driver lain.

Nilai dasar didefinisikan untuk memfasilitasi pengembangan driver. Misalnya, atribut diagnostik khusus driver dapat ditentukan dalam format berikut:

SQL_DRIVER_DIAGNOSTIC_BASE+0, SQL_DRIVER_DIAGNOSTIC_BASE +1