Поделиться через


Атрибуты подключения

Атрибуты подключения — это характеристики подключения. Например, так как транзакции происходят на уровне подключения, уровень изоляции транзакций является атрибутом подключения. Аналогичным образом, время ожидания для входа, или количество секунд, в течение которых выполняется попытка подключения перед завершением, является атрибутом подключения.

Атрибуты подключения задаются с помощью SQLSetConnectAttr и их текущих параметров, полученных с помощью SQLGetConnectAttr. Если sqlSetConnectAttr вызывается перед загрузкой драйвера, диспетчер драйверов сохраняет атрибуты в структуре подключения и задает их в драйвере в рамках процесса подключения. Не требуется, чтобы приложение установило какие-либо атрибуты подключения; Все атрибуты подключения имеют значения по умолчанию, некоторые из которых относятся к драйверу.

Атрибут подключения можно задать до или после подключения или в зависимости от атрибута и драйвера. Время ожидания входа (SQL_ATTR_LOGIN_TIMEOUT) применяется к процессу подключения и действует только при настройке перед подключением. Атрибуты, указывающие, следует ли использовать библиотеку курсоров ODBC (SQL_ATTR_ODBC_CURSORS) и размер сетевого пакета (SQL_ATTR_PACKET_SIZE), должны быть установлены перед подключением, так как библиотека курсоров ODBC находится между диспетчером драйверов и драйвером и поэтому должна быть загружена перед драйвером.

Атрибуты, определяющие, доступен ли источник данных только для чтения или записи (SQL_ATTR_ACCESS_MODE), а текущий каталог (SQL_ATTR_CURRENT_CATALOG) можно задать до или после подключения в зависимости от драйвера. Однако взаимодействующие приложения задают их перед подключением, так как некоторые драйверы не поддерживают изменение этих параметров после подключения.

Некоторые атрибуты подключения имеют значение по умолчанию перед подключением, а другие — нет. Это SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE и SQL_ATTR_TRACEFILE.

Атрибуты подключения перевода (SQL_ATTR_TRANSLATE_DLL и SQL_ATTR_TRANSLATE_OPTION) должны быть заданы после подключения.

Все остальные атрибуты подключения можно задать в любое время. Дополнительные сведения см. в описании функции SQLSetConnectAttr . (Атрибуты подключения нельзя задать на уровне среды вызовом SQLSetEnvAttr.)