Bagikan melalui


Pemeriksaan Nilai Argumen

Driver Manager memeriksa jenis argumen berikut. Kecuali dinyatakan lain, Manajer Driver mengembalikan SQL_ERROR untuk kesalahan dalam nilai argumen.

  • Penanganan lingkungan, koneksi, dan pernyataan biasanya tidak boleh null pointer. Driver Manager mengembalikan SQL_INVALID_HANDLE saat menemukan handel null.

  • Argumen pointer yang diperlukan, seperti OutputHandlePtr di SQLAllocHandle dan CursorName di SQLSetCursorName, tidak dapat berupa pointer null.

  • Bendera opsi yang tidak mendukung nilai khusus driver harus berupa nilai hukum. Misalnya, Operasi di SQLSetPos harus SQL_POSITION, SQL_REFRESH, SQL_UPDATE, SQL_DELETE, atau SQL_ADD.

  • Bendera opsi harus didukung dalam versi ODBC yang didukung oleh driver. Misalnya, InfoType di SQLGetInfo tidak dapat SQL_ASYNC_MODE (diperkenalkan di ODBC 3.0) saat memanggil driver ODBC 2.0.

  • Nomor kolom dan parameter harus lebih besar dari 0 atau lebih besar dari atau sama dengan 0, tergantung pada fungsinya. Driver harus memeriksa batas atas nilai argumen ini berdasarkan kumpulan hasil saat ini atau pernyataan SQL.

  • Argumen panjang/indikator dan argumen panjang buffer data harus berisi nilai yang sesuai. Misalnya, argumen yang menentukan panjang nama tabel di SQLColumns (NameLength3) harus SQL_NTS atau nilai yang lebih besar dari 0; BufferLength di SQLDescribeCol harus lebih besar dari atau sama dengan 0. Driver mungkin juga perlu memeriksa argumen ini. Misalnya, mungkin memeriksa bahwa NameLength3 kurang dari atau sama dengan panjang maksimum nama tabel di sumber data.