Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Соответствия
Представлена версия: соответствие стандартам ODBC 3.81: ODBC
Сводка
SQLSetConnectAttrForDbcInfo совпадает с SQLSetConnectAttr, но задает атрибут маркера сведений о подключении вместо дескриптора подключения.
Синтаксис
SQLRETURN SQLSetConnectAttrForDbcInfo(
SQLHDBC_INFO_TOKEN hDbcInfoToken,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength );
Аргументы
hDbcInfoToken
[Входные данные] Дескриптор маркера.
Атрибут
[Входные данные] Атрибут для задания. Список допустимых атрибутов относится к драйверу и тому же, что и для SQLSetConnectAttr.
ValuePtr
[Входные данные] Указатель на значение, связанное с атрибутом. В зависимости от значения Атрибута значение ValuePtr будет 32-разрядным целым числом без знака или указывает на строку символов, завершаемую значением NULL. Обратите внимание, что если аргумент Атрибута является значением для конкретного драйвера, значение в ValuePtr может быть целочисленным со знаком.
StringLength
[Входные данные] Если атрибут является атрибутом ODBC, а ValuePtr указывает на символьную строку или двоичный буфер, этот аргумент должен быть длиной *ValuePtr. Для символьных строковых данных этот аргумент должен содержать количество байтов в строке.
Если атрибут является атрибутом ODBC, а ValuePtr является целым числом, StringLength игнорируется.
Если атрибут является атрибутом, определенным драйвером, приложение указывает характер атрибута диспетчеру драйверов, задав аргумент StringLength . StringLength может иметь следующие значения:
Если ЗначениеPtr является указателем на символьную строку, СтрокаLength — это длина строки или SQL_NTS.
Если ЗначениеPtr является указателем на двоичный буфер, приложение помещает результат макроса SQL_LEN_BINARY_ATTR(длина) в StringLength. Это помещает отрицательное значение в StringLength.
Если ЗначениеPtr является указателем на значение, отличное от символьной строки или двоичной строки, строка StringLength должна иметь значение SQL_IS_POINTER.
Если Значение ValuePtr содержит значение фиксированной длины, СтрокаLength либо SQL_IS_INTEGER, либо SQL_IS_UINTEGER соответствующим образом.
Возвраты
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR или SQL_INVALID_HANDLE.
Диагностика
Аналогично SQLSetConnectAttr, за исключением того, что диспетчер драйверов будет использовать HandleType SQL_HANDLE_DBC_INFO_TOKEN и дескриптор hDbcInfoToken.
Замечания
SQLSetConnectAttrForDbcInfo совпадает с SQLSetConnectAttr, но задает атрибут маркера сведений о подключении, а не дескриптор подключения. Например, если SQLSetConnectAttr не распознает атрибут, SQLSetConnectAttrForDbcInfo также должен возвращать SQL_ERROR для этого атрибута.
Когда драйвер возвращает SQL_ERROR или SQL_INVALID_HANDLE, драйвер должен игнорировать этот атрибут для вычисления идентификатора пула. Кроме того, диспетчер драйверов получит диагностические сведения из hDbcInfoToken и возвращает SQL_SUCCESS_WITH_INFO приложению в SQLConnect и SQLDriverConnect. Поэтому приложение может получить сведения о том, почему некоторые атрибуты не могут быть заданы.
Приложения не должны вызывать эту функцию напрямую. Драйвер ODBC, поддерживающий пул подключений с поддержкой драйверов, должен реализовать эту функцию.
Включите sqlspi.h для разработки драйверов ODBC.
См. также
Разработка драйвера ODBC
Организация пулов соединений с учетом драйвера
Разработка драйвера ODBC с поддержкой пула подключений