Vue LISTCOLUMNS
La DVSYS.LISTCOLUMNS vue affiche la liste des colonnes des tables dans une source RDBMS.
Avant de commencer
SELECT
* FROM DVSYS.LISTCOLUMNS WHERE CID= ?).- Limite de récupération des tables
- Seules les 10 000 premières lignes sont récupérées par défaut. Pour accéder aux tables au-delà de ce lot initial, utilisez le prédicat FILTER pour affiner le filtre de schéma, de table et de colonne afin de récupérer les colonnes qui vous intéressent. Pour plus d'informations, consultez la colonne FILTRE dans le tableau suivant.
Vous pouvez également augmenter le nombre de lignes récupérées en modifiant la propriété de configuration
BATCHSIZE_FOR_LISTSCHEMAS_OR_LISTTABLES, mais cela peut avoir un impact négatif sur les performances. - Limites de délai d'attente et de concurrence
- L'API de la source de données appelle
LISTSCHEMAS,LISTTABLES, etLISTCOLUMNSqui sont soumis à un délai d'expiration configurable défini par laSOURCE_CATALOG_API_GETCOLUMNS_TIMEOUT_MSpropriété, dont la valeur par défaut est de 5 minutes. De plus, le nombre maximal d'appels simultanés est contrôlé par laSOURCE_CATALOG_API_MAX_CONCURRENCYpropriété, dont la valeur par défaut est 4. Les requêtes entrantes qui dépassent cette limite de concurrence ne seront pas traitées et ne renverront aucune ligne.Remarque : pour plusieurs sources de catalogue, laRELOADTABLES_ALLCOLS_<CID>propriété définit le catalogue par défaut utilisé, sauf si le prédicat FILTER et le catalogue sont définis. Par exemple :<catalog>,null,null,null).Pour définir le FILTRE, exécutez cette vue et veillez à remplacer<xxxx...>par les valeurs CID et FILTRE.SELECT * FROM DVSYS.LISTCOLUMNS WHERE CID='<xxxx>' and FILTER='<xxxxxx>'L'API de la source de données renvoie la valeur dans les JDBC colonnes
DatabaseMetaadata.getColumns()API.
| Colonne | Type | Description |
|---|---|---|
| configuration, installation et distribution | VARCHAR(20) | L'identifiant de connexion. Il s'agit d'un prédicat d'entrée obligatoire sous la forme d'une constante de chaîne. |
| Filtrer | VARCHAR(500) | Prédicat d'entrée facultatif que vous utilisez lorsque vous appelez LISTCOLUMNS pour activer les opérations de pushdown. Ce prédicat se présente sous la forme d'une constante de chaîne. Chaîne d'entrée CSV composite avec le même format que celui utilisé pour les propriétés |
| TCATALOG | VARCHAR(128) | Nom du catalogue. |
| TSCHEM | VARCHAR(128) | Nom du schéma. |
| TNAME | VARCHAR(128) | Nom de la table. |
| TCOLUMN | VARCHAR(20) | Le nom de la colonne du tableau. |
| DATA_TYPE | SMALLINT | Le type de données renvoyé sous la forme. java.sql.Types |
| TYPE_NAME | VARCHAR(80) | Nom du type pour la valeur de la colonne DATA_TYPE. |
| TAILLE_DE_LA_COLONNE | INT | La taille de la colonne.
|
| DECIMAL_DIGITS | SMALLINT | Le nombre de chiffres après la virgule. |
| NUM_PREC_RADIX | SMALLINT | La base utilisée pour le type de données numériques. Cette valeur peut être 2, 10, ou NULL. |
| NULL ADMIS | SMALLINT | Indique si NULL les valeurs sont autorisées.
|
| REMARKS | VARCHAR(2000) | Commentaires décrivant la colonne. |
| COLONNE_DEF | VARCHAR(254) | La définition de la colonne. |
| CHAR_OCTET_LONGUEUR | INT | Nombre maximal d'octets dans la colonne. |
| POSITION_ORDINALE | INT | L'index de la colonne dans le tableau. |
| IS_NULLABLE | VARCHAR(3) | Indique si la colonne peut contenir des valeurs nulles. |
| SCOPE_CATALOG | VARCHAR(128) | Définit le nom du catalogue d'une table référencée par l'attribut REF. La valeur est renvoyée |
| SCOPE_SCHEMA | VARCHAR(128) | Définit le nom du schéma d'une table référencée par l'attribut REF. La valeur est renvoyée |
| SCOPE_TABLE | VARCHAR(128) | Définit le nom d'une table référencée par l'attribut REF. La valeur est renvoyée |
| TYPE_DONNEES_SOURCE | SMALLINT | Le type source d'un type distinct ou d'un type Ref généré par l'utilisateur, le type de données se présente sous la forme. java.sql.TypesLa valeur est renvoyée |
| IS_AUTOINCREMENT | VARCHAR(3) | Indique si cette colonne est incrémentée automatiquement.
|
| IS_GENERATEDCOLUMN | VARCHAR(3) | Indique s'il s'agit d'une colonne générée. Cette valeur renvoie actuellement ““. |
Exemple
Cet exemple fait appel getColumns('null','SSPD','DISTTEST%','%') à la source Db2 distante :
select * from DVSYS.LISTCOLUMNS WHERE CID='DB210001' AND FILTER='null,SSPD,DISTTEST%,%'
CID FILTER TCATALOG TSCHEM TNAME TCOLUMN DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TABLE SOURCE_DATA_TYPE IS_AUTOINCREMENT IS_GENERATEDCOLUMN
DB210321 null,SSPD,DISTTEST%,% SSPD DISTTEST C1 4 INTEGER 10 0 10 1 1 YES
DB210321 null,SSPD,DISTTEST%,% SSPD DISTTEST C2 3 DECIMAL 10 5 10 1 2 YES
DB210321 null,SSPD,DISTTEST%,% SSPD DISTTEST C3 12 VARCHAR 10 1 20 3 YES
DB210321 null,SSPD,DISTTEST%,% SSPD DISTTEST C4 93 TIMESTAMP 29 9 10 1 4 YES En savoir plus
Pour plus d'informations sur BATCHSIZE_FOR_LISTSCHEMAS_OR_LISTTABLES, SOURCE_CATALOG_API_GETCOLUMNS_TIMEOUT_MS, SOURCE_CATALOG_API_MAX_CONCURRENCY et RELOADTABLES_ALLCOLS_<CID>, reportez-vous aux propriétés SETCONFIGPROPERTY.