Бөлісу құралы:


Проверки значения аргумента

Диспетчер драйверов проверка следующие типы аргументов. Если иное не указано, диспетчер драйверов возвращает SQL_ERROR для ошибок в значениях аргументов.

  • Дескрипторы среды, подключения и инструкции обычно не могут быть указателями NULL. Диспетчер драйверов возвращает SQL_INVALID_HANDLE при обнаружении null-дескриптора.

  • Обязательные аргументы указателя, такие как OutputHandlePtr в SQLAllocHandle и CursorName в SQLSetCursorName, не могут быть пустыми указателями.

  • Флаги параметров, которые не поддерживают значения, относящиеся к драйверу, должны быть юридическим значением. Например, операция в SQLSetPos должна быть SQL_POSITION, SQL_REFRESH, SQL_UPDATE, SQL_DELETE или SQL_ADD.

  • Флаги параметров должны поддерживаться в версии ODBC, поддерживаемой драйвером. Например, InfoType в SQLGetInfo не может быть SQL_ASYNC_MODE (появилась в ODBC 3.0) при вызове драйвера ODBC 2.0.

  • Число столбцов и параметров должно быть больше 0 или равно 0 в зависимости от функции. Драйвер должен проверка верхний предел этих значений аргументов на основе текущего результирующий набор или инструкцию SQL.

  • Аргументы длины или индикатора и аргументы длины буфера данных должны содержать соответствующие значения. Например, аргумент, указывающий длину имени таблицы в SQLColumns (NameLength3), должен быть SQL_NTS или значение больше 0; BufferLength в SQLDescribeCol должен быть больше или равен 0. Драйвер может также проверка этих аргументов. Например, может проверка, что NameLength3 меньше или равно максимальной длине имени таблицы в источнике данных.