SQLGetConnectAttr--Obtener el valor actual de un atributo de conexión

Finalidad

Especificación: CLI de DB2 5.0 ODBC 3.0 ISO CLI

SQLGetConnectAttr() devuelve el valor actual de un atributo de una conexión.

Sintaxis

SQLRETURN   SQLGetConnectAttr(SQLHDBC           ConnectionHandle,
                        SQLINTEGER        Attribute,
                        SQLPOINTER        ValuePtr,
                        SQLINTEGER        BufferLength,
                        SQLINTEGER        *StringLengthPtr);

Argumentos de la función

Tabla 87. Argumentos de SQLGetConnectAttr

Tipo de datos Argumento Uso Descripción
SQLHDBC ConnectionHandle entrada Descriptor de contexto de conexión.
SQLINTEGER Attribute entrada Atributo que se debe recuperar.
SQLPOINTER ValuePtr salida Puntero a la memoria en la que devolver el valor actual del atributo especificado por Attribute.
SQLINTEGER BufferLength entrada
  • Si ValuePtr apunta a una serie de caracteres, este argumento debe ser igual a la longitud de *ValuePtr.
  • Si ValuePtr es un puntero, pero no apunta a una serie, BufferLength debe tener el valor SQL_IS_POINTER.
  • Si el valor de *ValuePtr es una serie de Unicode, el argumento de BufferLength debe ser un número par.

SQLINTEGER * StringLengthPtr salida Puntero a un almacenamiento intermedio en el que se devolverá el número total de bytes (excluyendo el carácter de terminación en nulo) disponibles para devolverlos en *ValuePtr.
  • Si ValuePtr es un puntero nulo, no se devuelve ninguna longitud.
  • Si el valor del atributo es una serie de caracteres, y si el número de bytes disponibles para devolverlos es mayor que BufferLength menos la longitud de un carácter de terminación en nulo, los datos de *ValuePtr se truncan en BufferLength menos la longitud del carácter de terminación en nulo y la CLI de DB2 termina en nulo.

Uso

Una llamada a SQLGetConnectAttr() devuelve en *ValuePtr el valor del atributo de conexión especificado en Attribute. En DB2 Everyplace, este valor es un valor de 32 bits y no se utilizan los argumentos BufferLength ni StringLengthPtr.

Los atributos de conexión siguientes pueden recuperarse por medio de SQLGetConnectAttr(). Para una descripción de los atributos, consulte SQLSetConnectAttr--Establecer opciones relacionadas con una conexión.

En función del atributo, una aplicación no necesita establecer una conexión antes de llamar a SQLGetConnectAttr().

Códigos de retorno

Diagnósticos

Tabla 88. SQLGetConnectAttr SQLSTATEs

SQLSTATE Descripción Explicación
01000 Aviso. Mensaje informativo. (La función devuelve SQL_SUCCESS_WITH_INFO).
01004 Datos truncados. Los datos devueltos en *ValuePtr se truncan hasta BufferLength menos la longitud de un carácter de terminación en nulo. La longitud del valor de la serie no truncada se devuelve en *StringLengthPtr. (La función devuelve SQL_SUCCESS_WITH_INFO).
08003 La conexión está cerrada. Se ha especificado un valor de Attribute que necesitaba una conexión abierta.
HY000 Error general. Se ha producido un error para el que no existía ningún SQLSTATE específico. El mensaje de error devuelto por SQLGetDiagRec() en el almacenamiento intermedio *MessageText describe el error y su causa.
HY001 Error de asignación de memoria. DB2 CLI no puede asignar la memoria necesaria para ejecutar o finalizar la función. Es probable que la memoria a nivel de proceso se haya agotado para el proceso de la aplicación. Consulte la configuración del sistema operativo para obtener más información sobre las limitaciones de memoria a nivel de proceso.
HY090 Longitud no válida de la serie de caracteres o del almacenamiento intermedio. El valor especificado para el argumento BufferLength era menor que 0.
HY092 Tipo de opción fuera de rango. El valor especificado para el argumento Attribute no era válido.
HYC00 Controlador no apropiado. El valor especificado para el argumento Attribute era un atributo de sentencia o conexión válida para la versión del controlador de CLI de DB2, pero la fuente de datos no lo soporta.

Restricciones

Ninguna.

Consulta relacionada