Bagikan melalui


Driver-Specific Jenis Data, 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.

  • Tipe Informasi Ini digunakan dalam InfoType di SQLGetInfo.

  • Atribut Koneksi dan Pernyataan Ini digunakan dalam Atribut di SQLGetConnectAttr, SQLGetStmtAttr, SQLSetConnectAttr, 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 yang lebih baru dari Pengelola Driver mungkin menghasilkan kesalahan jika menerima nilai yang tidak diketahui dan yang tidak berada dalam rentang.

Ketika salah satu nilai ini diteruskan ke fungsi ODBC, driver harus memeriksa apakah nilai valid. Pengandar mengembalikan kode SQLSTATE HYC00 (Fitur opsional belum diimplementasikan) untuk nilai-nilai spesifik yang berlaku untuk pengandar lain.

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

Nota

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 Rentang khusus pengemudi Batas rentang pengandar tertentu 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 SQLINTEGER 0x00004000 0x00007FFF SQL_DRIVER_CONNECT_ATTR_BASE
Atribut pernyataan SQLINTEGER 0x00004000 0x00007FFF SQL_DRIVER_STATEMENT_ATTR_BASE

Nota

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