Kesesuaian Antarmuka Inti

Semua driver ODBC harus menunjukkan setidaknya kesuaian antarmuka tingkat Inti. Karena fitur di tingkat Inti adalah fitur yang diperlukan oleh sebagian besar aplikasi yang dapat dioperasikan secara umum, driver dapat bekerja dengan aplikasi tersebut. Fitur di tingkat Inti juga sesuai dengan fitur yang ditentukan dalam spesifikasi ISO CLI dan fitur nonoptional yang ditentukan dalam spesifikasi Open Group CLI. Driver ODBC sesuai antarmuka tingkat Inti memungkinkan aplikasi untuk melakukan semua hal berikut:

  • Alokasikan dan bebaskan semua jenis handel, dengan memanggil SQLAllocHandle dan SQLFreeHandle.

  • Gunakan semua bentuk fungsi SQLFreeStmt .

  • Ikat kolom tataan hasil, dengan memanggil SQLBindCol.

  • Tangani parameter dinamis, termasuk array parameter, hanya dalam arah input, dengan memanggil SQLBindParameter dan SQLNumParams. (Parameter dalam arah output adalah fitur 203 in Kesuaian Antarmuka Tingkat 2.)

  • Tentukan offset ikatan.

  • Gunakan dialog data-at-execution, yang melibatkan panggilan ke SQLParamData dan SQLPutData.

  • Kelola nama kursor dan kursor, dengan memanggil SQLCloseCursor, SQLGetCursorName, dan SQLSetCursorName.

  • Dapatkan akses ke deskripsi (metadata) kumpulan hasil, dengan memanggil SQLColAttribute, SQLDescribeCol, SQLNumResultCols, dan SQLRowCount. (Penggunaan fungsi ini pada kolom nomor 0 untuk mengambil metadata marka buku adalah fitur 204 di Kesuaian Antarmuka Tingkat 2.)

  • Kueri kamus data, dengan memanggil fungsi katalog SQLColumns, SQLGetTypeInfo, SQLStatistics, dan SQLTables.

    Driver tidak diperlukan untuk mendukung nama multibagian tabel dan tampilan database. (Untuk informasi selengkapnya, lihat fitur 101 di Kesuaian Antarmuka Tingkat 1 dan fitur 201 dalam Kesuaian Antarmuka Tingkat 2.) Namun, fitur tertentu dari spesifikasi SQL-92, seperti kualifikasi kolom dan nama indeks, secara sintetis sebanding dengan penamaan multipihak. Daftar fitur ODBC saat ini tidak dimaksudkan untuk memperkenalkan opsi baru ke dalam aspek SQL-92 ini.

  • Kelola sumber data dan koneksi, dengan memanggil SQL Koneksi, SQLDataSources, SQLDisconnect, dan SQLDriver Koneksi. Dapatkan informasi tentang driver, apa pun tingkat ODBC yang mereka dukung, dengan memanggil SQLDrivers.

  • Siapkan dan jalankan pernyataan SQL, dengan memanggil SQLExecDirect, SQLExecute, dan SQLPrepare.

  • Ambil satu baris kumpulan hasil atau beberapa baris, hanya dalam arah penerusan , dengan memanggil SQLFetch atau dengan memanggil SQLFetchScroll dengan argumen FetchOrientation diatur ke SQL_FETCH_NEXT.

  • Dapatkan kolom yang tidak terikat di bagian, dengan memanggil SQLGetData.

  • Dapatkan nilai saat ini dari semua atribut, dengan memanggil SQLGet Koneksi Attr, SQLGetEnvAttr, dan SQLGetStmtAttr, dan atur semua atribut ke nilai defaultnya dan atur atribut tertentu ke nilai nondefault dengan memanggil SQLSet Koneksi Attr, SQLSetEnvAttr, dan SQLSetStmtAttr.

  • Manipulasi bidang deskriptor tertentu, dengan memanggil SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescField, dan SQLSetDescRec.

  • Dapatkan informasi diagnostik, dengan memanggil SQLGetDiagField dan SQLGetDiagRec.

  • Deteksi kemampuan driver, dengan memanggil SQLGetFunctions dan SQLGetInfo. Selain itu, deteksi hasil substitusi teks apa pun yang dibuat ke pernyataan SQL sebelum dikirim ke sumber data, dengan memanggil SQLNativeSql.

  • Gunakan sintaks SQLEndTran untuk melakukan transaksi. Driver tingkat Inti tidak perlu mendukung transaksi yang sebenarnya; oleh karena itu, aplikasi tidak dapat menentukan SQL_ROLLBACK atau SQL_AUTOCOMMIT_OFF untuk atribut koneksi SQL_ATTR_AUTOCOMMIT. (Untuk informasi selengkapnya, lihat fitur 109 di Kesuaian Antarmuka Tingkat 2.)

  • Panggil SQLCancel untuk membatalkan dialog data-at-execution dan, di lingkungan multithread, untuk membatalkan fungsi ODBC yang dijalankan di utas lain. Kesamaan antarmuka tingkat inti tidak mengamanatkan dukungan untuk eksekusi fungsi asinkron, atau penggunaan SQLCancel untuk membatalkan fungsi ODBC yang dijalankan secara asinkron. Baik platform maupun driver ODBC tidak perlu multithread bagi pengemudi untuk melakukan aktivitas independen secara bersamaan. Namun, di lingkungan multithread, driver ODBC harus aman utas. Serialisasi permintaan dari aplikasi adalah cara yang sesuai untuk mengimplementasikan spesifikasi ini, meskipun mungkin menciptakan masalah performa yang serius.

  • Dapatkan kolom tabel yang mengidentifikasi baris SQL_BEST_ROWID, dengan memanggil SQLSpecialColumns. (Dukungan untuk SQL_ROWVER adalah fitur 208 di Kesuaian Antarmuka Tingkat 2.)

    Penting

    Driver ODBC harus mengimplementasikan fungsi dalam tingkat kesuaian antarmuka Core.