Mendeklarasikan Versi ODBC Aplikasi

Sebelum aplikasi mengalokasikan koneksi, aplikasi harus mengatur atribut lingkungan SQL_ATTR_ODBC_VERSION. Atribut ini menyatakan bahwa aplikasi mengikuti spesifikasi ODBC 2.x atau ODBC 3.x saat menggunakan item berikut:

  • SQLSTATEs. Banyak nilai SQLSTATE berbeda dalam ODBC 2.x dan ODBC 3.x.

  • Pengidentifikasi Jenis Tanggal, Waktu, dan Tanda Waktu. Tabel berikut ini memperlihatkan pengidentifikasi jenis untuk data tanggal, waktu, dan tanda waktu di ODBC 2.x dan ODBC 3.x.

    ODBC 2.x ODBC 3.x
    Pengidentifikasi Jenis SQL
    SQL_DATE SQL_TYPE_DATE
    SQL_TIME SQL_TYPE_TIME
    SQL_TIMESTAMP SQL_TYPE_TIMESTAMP
    Pengidentifikasi Tipe C
    SQL_C_DATE SQL_C_TYPE_DATE
    SQL_C_TIME SQL_C_TYPE_TIME
    SQL_C_TIMESTAMP SQL_C_TYPE_TIMESTAMP
  • Argumen CatalogNamedi SQLTables. Dalam ODBC 2.x, karakter kartubebas ("%" dan "_") dalam argumen CatalogName diperlakukan secara harfiah. Dalam ODBC 3.x, mereka diperlakukan sebagai karakter kartubebas. Dengan demikian, aplikasi yang mengikuti spesifikasi ODBC 2.x tidak dapat menggunakan ini sebagai karakter kartubebas dan tidak lolos saat menggunakannya sebagai harfiah. Aplikasi yang mengikuti spesifikasi ODBC 3.x dapat menggunakannya sebagai karakter kartubebas atau meloloskannya dan menggunakannya sebagai harfiah. Untuk informasi selengkapnya, lihat Argumen di Fungsi Katalog.

Driver Manager ODBC 3.x dan driver ODBC 3.x memeriksa versi spesifikasi ODBC tempat aplikasi ditulis dan merespons yang sesuai. Misalnya, jika aplikasi mengikuti spesifikasi ODBC 2.x dan memanggil SQLExecute sebelum memanggil SQLPrepare, Manajer Driver ODBC 3.x mengembalikan SQLSTATE S1010 (Kesalahan urutan fungsi). Jika aplikasi mengikuti spesifikasi ODBC 3.x , Driver Manager mengembalikan SQLSTATE HY010 (Kesalahan urutan fungsi). Untuk informasi selengkapnya, lihat Kompatibilitas Mundur dan Kepatuhan Standar.

Penting

Aplikasi yang mengikuti spesifikasi ODBC 3.x harus menggunakan kode bersyarat untuk menghindari penggunaan fungsionalitas baru untuk ODBC 3.x saat bekerja dengan driver ODBC 2.x . Driver ODBC 2.x tidak mendukung fungsionalitas baru odbc 3.x hanya karena aplikasi menyatakan bahwa ia mengikuti spesifikasi ODBC 3.x . Selain itu, driver ODBC 3.x tidak berhenti mendukung fungsionalitas yang baru untuk ODBC 3.x hanya karena aplikasi menyatakan bahwa ia mengikuti spesifikasi ODBC 2.x .