Comparteix via


Atributos de conexión

Los atributos de conexión son características de la conexión. Por ejemplo, dado que las transacciones se producen en el nivel de conexión, el nivel de aislamiento de transacción es un atributo de conexión. Del mismo modo, el tiempo de espera de inicio de sesión o el número de segundos que se deben esperar al intentar conectarse antes de que se agote el tiempo de espera, es un atributo de conexión.

Los atributos de conexión se establecen con SQLSetConnectAttr y su configuración actual recuperada con SQLGetConnectAttr. Si se llama a SQLSetConnectAttr antes de cargar el controlador, el Administrador de controladores almacena los atributos en su estructura de conexión y los establece en el controlador como parte del proceso de conexión. No es necesario que una aplicación establezca ningún atributo de conexión; todos los atributos de conexión tienen valores predeterminados, algunos de los cuales son específicos del controlador.

Un atributo de conexión se puede establecer antes o después de la conexión, o bien, dependiendo del atributo y del controlador. El tiempo de espera de inicio de sesión (SQL_ATTR_LOGIN_TIMEOUT) se aplica al proceso de conexión y solo es efectivo si se establece antes de conectarse. Los atributos que especifican si se debe usar la biblioteca de cursores ODBC (SQL_ATTR_ODBC_CURSORS) y el tamaño del paquete de red (SQL_ATTR_PACKET_SIZE) deben establecerse antes de conectarse, ya que la biblioteca de cursores ODBC reside entre el Administrador de controladores y el controlador y, por tanto, debe cargarse antes del controlador.

Los atributos para especificar si un origen de datos es de solo lectura o de lectura y escritura (SQL_ATTR_ACCESS_MODE) y el catálogo actual (SQL_ATTR_CURRENT_CATALOG) se pueden establecer antes o después de conectarse, en función del controlador. Sin embargo, las aplicaciones interoperables las establecen antes de conectarse porque algunos controladores no admiten cambiarlos después de conectarse.

Algunos atributos de conexión tienen un valor predeterminado antes de que se realice la conexión, mientras que otros no. Los que sí son SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE y SQL_ATTR_TRACEFILE.

Los atributos de conexión de traducción (SQL_ATTR_TRANSLATE_DLL y SQL_ATTR_TRANSLATE_OPTION) deben establecerse después de conectarse.

Todos los demás atributos de conexión se pueden establecer en cualquier momento. Para obtener más información, consulte la descripción de la función SQLSetConnectAttr . (Los atributos de conexión no se pueden establecer en el nivel de entorno mediante una llamada a SQLSetEnvAttr).