Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Соответствие
Введенная версия: Соответствие стандартам ODBC 3.81: ODBC
Сводка
SQLSetConnectAttrForDbcInfo — это то же самое, что и SQLSetConnectAttr, но он устанавливает атрибут на токене информации соединения, а не на дескрипторе соединения.
Syntax
SQLRETURN SQLSetConnectAttrForDbcInfo(
SQLHDBC_INFO_TOKEN hDbcInfoToken,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength );
Arguments
hDbcInfoToken
[Ввод] Токен-аккаунт.
Атрибут
[Ввод] Атрибут к набору. Список допустимых атрибутов зависит от драйвера и совпадает с SQLSetConnectAttr.
ValuePtr
[Ввод] Указатель на значение, которое должно быть связано с атрибутом. В зависимости от значения Attribute, ValuePtr будет 32-битным беззнаковым целочисленным значением или будет указывать на строку символа с нулевой терминацией. Обратите внимание, что если аргумент Attribute является значением, специфичным для драйвера, то значение в 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 соответствующим образом.
Returns
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR или SQL_INVALID_HANDLE.
Diagnostics
То же самое с SQLSetConnectAttr, только менеджер драйверов будет использовать HandleType SQL_HANDLE_DBC_INFO_TOKEN и HandlehDbcInfoToken.
Remarks
SQLSetConnectAttrForDbcInfo — это то же самое, что и SQLSetConnectAttr, но он устанавливает атрибут на токене информации соединения, а не на дескрипторе соединения. Например, если SQLSetConnectAttr не распознаёт атрибут, SQLSetConnectAttrForDbcInfo также должен вернуть SQL_ERROR для этого атрибута.
Всякий раз, когда драйвер возвращает SQL_ERROR или SQL_INVALID_HANDLE, драйвер должен игнорировать этот атрибут для вычисления идентификатора пула. Кроме того, менеджер драйверов получает диагностическую информацию от hDbcInfoToken и возвращает SQL_SUCCESS_WITH_INFO приложению в SQLConnect и SQLDriverConnect. Таким образом, приложение может получить детали о причинах, по которым некоторые атрибуты нельзя задавать.
Приложения не должны вызывать эту функцию напрямую. Драйвер ODBC, поддерживающий пул соединений с учётом драйвера, должен реализовать эту функцию.
Включите sqlspi.h для разработки драйверов ODBC.