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:
- Si el tipo de retorno es una serie de caracteres que contiene
'Y' o 'N', se devuelve "N".
- Si el tipo de retorno es una serie de caracteres que contiene un valor que
no es simplemente 'Y' o 'N', se devuelve una serie
vacía.
- Si el tipo de retorno es un entero de 16 bits, se devuelve 0
(cero).
- Si el tipo de retorno es un entero de 32 bits, se devuelve 0
(cero).
- Si el tipo de retorno es una máscara de 32 bits, se devuelve 0
(cero).
- 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_TC_NONE = transacciones no soportadas.
- SQL_TC_DML = las transacciones sólo pueden contener sentencias DML
(SELECT, INSERT, UPDATE, DELETE, etc.) Las sentencias DDL (CREATE
TABLE, DROP INDEX, etc.) que se encuentren en una transacción
ocasionarán un error.
- SQL_TC_DDL_COMMIT = las transacciones sólo pueden contener sentencias
DML. Las sentencias DDL que se encuentren en una transacción harán que
se confirme la transacción.
- SQL_TC_DDL_IGNORE = las transacciones sólo pueden contener sentencias
DML. Las sentencias DDL que se encuentren en una transacción se
ignorarán.
- SQL_TC_ALL = las transacciones pueden contener sentencias DDL y DML en
cualquier orden.
- 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
- SQL_SUCCESS
- SQL_SUCCESS_WITH_INFO
- SQL_ERROR
- SQL_INVALID_HANDLE
Restricciones
Ninguna.
Consulta relacionada