SQLGetInfo--Obtener información general

Finalidad

Especificación: CLI de DB2 1.1 ODBC 1.0 ISO CLI

SQLGetInfo() devuelve información general (que incluye conversiones de datos soportadas) sobre el DBMS al que está conectada la aplicación.

Sintaxis

SQLRETURN   SQLGetInfo       (
                SQLHDBC               ConnectionHandle,   /* hdbc */
                SQLUSMALLINT          InfoType,           /* fInfoType */
                SQLPOINTER        InfoValuePtr,    /* rgbInfoValue */
                SQLSMALLINT       BufferLength,        /* cbInfoValueMax */                
                SQLSMALLINT     *FAR StringLengthPtr,        /* pcbInfoValue */ 
                

Argumentos de la función

Tabla 69. Argumentos de SQLGetInfo

Tipo de datos Argumento Uso Descripción
SQLHDBC ConnectionHandle entrada Descriptor de contexto de conexión de base de datos
SQLUSMALLINT InfoType salida El tipo de información deseado. El argumento debe ser uno de los valores de la primera columna de las tablas en Tipos de Datos y Conversión de Datos.
SQLPOINTER InfoValuePtr salida (también entrada) Puntero al almacenamiento intermedio donde la función almacena la información necesaria. Se pueden recuperar 5 tipos de información:

Valor entero de 16 bits

Valor entero de 32 bits

Valor binario de 32 bits

Máscara de 32 bits

Serie de caracteres terminada en nulo

SQLSMALLINT BufferLength entrada Tamaño máximo del almacenamiento intermedio al que apunta InfoValuePtr.
SQLSMALLINT * StrLen_or_IndPtr salida Puntero a la ubicación donde esta función devuelve el número total de bytes disponibles para devolver la información deseada. Si la salida de la función es una serie de caracteres, este tamaño no incluye el carácter de terminación en nulo.

Si el valor contenido en la ubicación apuntada por StringLengthPtr es mayor que el tamaño del almacenamiento intermedio InfoValuePtr tal como está especificado en BufferLength, los datos de salida se truncarán hasta que su longitud sea BufferLength - 1 bytes, y la función devolverá SQL_SUCCESS_WITH_INFO.

Uso

Consulte en la sección Información que devuelve SQLGetInfo una lista de los valores posibles de InfoType y una descripción de la información que SQLGetInfo() devuelve para dicho valor.

DB2 CLI devuelve un valor para cada InfoType de esta tabla. Si no se aplica el InfoType o no está soportado, el resultado dependerá del tipo de retorno:

Información que devuelve SQLGetInfo

SQL_DBMS_NAME (serie)
El nombre del producto DBMS al que se está accediendo. Por ejemplo: "DB2 Everyplace".

SQL_DBMS_VER (serie)
La versión del producto DBMS de DB2 Everyplace. La información devuelta es una serie con formato: DB2 Everyplace Vm.v.r Build aaaa-mm-dd, donde m es la versión principal, v es la versión secundaria, r es el release y aaaa-mm-dd es la fecha de creación expresada en formato ISO.

Por ejemplo:

'DB2 Everyplace V8.1.2 Build 2003-04-01'
es DB2 Everyplace Versión 8.1.2 creado el 1 de Abril de 2003
Nota:
Las aplicaciones necesitan un almacenamiento intermedio que pueda contener como mínimo 39 caracteres (BUFSIZE). Por ejemplo:
rc = SQLGetInfo(hdbc, SQL_DBMS_VER, buf, BUFSIZE, &len); 

SQL_IDENTIFIER_QUOTE_CHAR (serie)
Indica el carácter utilizado para rodear un identificador delimitado.

SQL_MAX_BINARY_LITERAL_LEN (entero de 32 bits sin signo)
Valor entero de 32 bits sin signo que especifica la longitud máxima de un literal hexadecimal en una sentencia SQL.

SQL_MAX_CHAR_LITERAL_LEN (entero de 32 bits sin signo)
La longitud máxima de un literal de carácter en una sentencia SQL (en bytes).

SQL_MAX_COLUMN_NAME_LEN (entero de 16 bits)
La longitud máxima de un nombre de columna (en bytes).

SQL_MAX_COLUMNS_IN_GROUP_BY (entero de 16 bits)
Indica el número máximo de columnas al que da soporte un servidor en una cláusula GROUP BY. Cero si no hay límite.

SQL_MAX_COLUMNS_IN_INDEX (entero de 16 bits)
Indica el número máximo de columnas al que da soporte el servidor en un índice. Cero si no hay límite.

SQL_MAX_COLUMNS_IN_ORDER_BY (entero de 16 bits)
Indica el número máximo de columnas al que da soporte el servidor en una cláusula ORDER BY. Cero si no hay límite.

SQL_MAX_COLUMNS_IN_SELECT (entero de 16 bits)
Indica el número máximo de columnas al que da soporte el servidor en una cláusula de selección. Cero si no hay límite.

SQL_MAX_CONCURRENT_ACTIVITIES (entero de 16 bits)
El número máximo de entornos activos al que puede dar soporte el controlador CLI de DB2 Everyplace. Si no hay un límite especificado o el límite es desconocido, este valor se establece en cero.

SQL_MAX_DRIVER_CONNECTIONS (entero de 16 bits)
El número máximo de conexiones activas soportadas por aplicación.

SQL_MAX_INDEX_SIZE (entero de 32 bits sin signo)
Indica el tamaño máximo en bytes al que da soporte el servidor para las columnas combinadas en un índice. Cero si no hay límite.

SQL_MAX_ROW_SIZE (entero de 32 bits sin signo)
Especifica la longitud máxima en bytes al que da soporte el servidor en una única fila de una tabla base. Cero si no hay límite.

SQL_MAX_STATEMENT_LEN (entero de 32 bits sin signo)
Indica la longitud máxima de una serie de sentencia SQL en bytes, incluyendo el número de espacios en blanco de la sentencia.

SQL_MAX_TABLE_NAME_LEN (entero de 16 bits)
La longitud máxima de un nombre de tabla (en bytes).

SQL_MAX_TABLES_IN_SELECT (entero de 16 bits)
Indica el número máximo de nombres de tabla que se permiten en una cláusula FROM de una especificación de consulta.

SQL_MAX_USER_NAME_LEN (entero de 16 bits)
Indica el tamaño máximo que se permite para un identificador de usuario (en bytes).

SQL_SEARCH_PATTERN_ESCAPE (serie)
Se utiliza para especificar lo que el controlador soporta como carácter de escape para las funciones de catálogo, como por ejemplo (SQLTables(), SQLColumns()).

SQL_TXN_CAPABLE (entero de 16 bits)
Indica si las transacciones puede contener DDL o DML o ambos.

SQL_USER_NAME (serie)
El nombre de usuario utilizado en una base de datos concreta. Este es el identificador especificado en la llamada SQLConnect().

Códigos de retorno

Restricciones

Ninguna.

Consulta relacionada