Compartir a través de


Función SQLSetConnectAttrForDbcInfo

Conformidad
Versión introducida: Cumplimiento de estándares odbc 3.81: ODBC

Resumen
SQLSetConnectAttrForDbcInfo es el mismo que SQLSetConnectAttr, pero establece el atributo en el token de información de conexión en lugar de en el identificador de conexión.

Sintaxis

  
SQLRETURN  SQLSetConnectAttrForDbcInfo(  
                SQLHDBC_INFO_TOKEN    hDbcInfoToken,  
                SQLINTEGER            Attribute,  
                SQLPOINTER            ValuePtr,  
                SQLINTEGER            StringLength );  

Argumentos

hDbcInfoToken
[Entrada] Identificador de token.

Atributo
[Entrada] Atributo que se va a establecer. La lista de atributos válidos es específica del controlador y la misma que para SQLSetConnectAttr.

ValuePtr
[Entrada] Puntero al valor que se va a asociar a Attribute. Según el valor de Attribute, ValuePtr será un valor entero de 32 bits sin signo o apuntará a una cadena de caracteres terminada en null. Tenga en cuenta que si el argumento Attribute es un valor específico del controlador, el valor de ValuePtr puede ser un entero con signo.

StringLength
[Entrada] Si Attribute es un atributo definido por ODBC y ValuePtr apunta a una cadena de caracteres o a un búfer binario, este argumento debe ser la longitud de *ValuePtr. Para los datos de cadena de caracteres, este argumento debe contener el número de bytes de la cadena.

Si Attribute es un atributo definido por ODBC y ValuePtr es un entero, StringLength se omite.

Si Attribute es un atributo definido por el controlador, la aplicación indica la naturaleza del atributo en el Administrador de controladores estableciendo el argumento StringLength . StringLength puede tener los siguientes valores:

  • Si ValuePtr es un puntero a una cadena de caracteres, StringLength es la longitud de la cadena o SQL_NTS.

  • Si ValuePtr es un puntero a un búfer binario, la aplicación coloca el resultado de la macro SQL_LEN_BINARY_ATTR(length) en StringLength. Esto coloca un valor negativo en StringLength.

  • Si ValuePtr es un puntero a un valor distinto de una cadena de caracteres o una cadena binaria, StringLength debe tener el valor SQL_IS_POINTER.

  • Si ValuePtr contiene un valor de longitud fija, StringLength es SQL_IS_INTEGER o SQL_IS_UINTEGER, según corresponda.

Devoluciones

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR o SQL_INVALID_HANDLE.

Diagnóstico

Igual que SQLSetConnectAttr, excepto que el Administrador de controladores usará un HandleType de SQL_HANDLE_DBC_INFO_TOKEN y un identificador de hDbcInfoToken.

Comentarios

SQLSetConnectAttrForDbcInfo es el mismo que SQLSetConnectAttr, pero establece el atributo en el token de información de conexión, en lugar de en el identificador de conexión. Por ejemplo, si SQLSetConnectAttr no reconoce un atributo, SQLSetConnectAttrForDbcInfo también debe devolver SQL_ERROR para ese atributo.

Cada vez que el controlador devuelve SQL_ERROR o SQL_INVALID_HANDLE, el controlador debe omitir este atributo para calcular el identificador del grupo. Además, el Administrador de controladores obtendrá la información de diagnóstico de hDbcInfoToken y devolverá SQL_SUCCESS_WITH_INFO a la aplicación en SQLConnect y SQLDriverConnect. Por lo tanto, una aplicación puede recuperar detalles sobre por qué no se pueden establecer algunos atributos.

Las aplicaciones no deben llamar directamente a esta función. Un controlador ODBC que admita la agrupación de conexiones compatibles con controladores debe implementar esta función.

Incluya sqlspi.h para el desarrollo de controladores ODBC.

Consulte también

Desarrollar un controlador ODBC
Agrupación de conexiones dependientes del controlador
Desarrollar el conocimiento de la agrupación de conexiones en un controlador ODBC