Welcome Guest! Log in
×

Notice

The forum is in read only mode.
Stambia versions 2.x, 3.x, S17, S18, S19 and S20 are reaching End of Support January, 15th, 2024. Please consider upgrading to the supported Semarchy xDI versions. See Global Policy Support and the Semarchy Documentation.

The Stambia User Community is moving to Semarchy! All the applicable resources have already been moved or are currently being moved to their new location. Read more…

Topic-icon Solved Rdbms Query metadata

More
19 Jul 2018 15:59 - 08 Aug 2018 09:27 #1 by Laurent D.
Rdbms Query metadata was created by Laurent D.
Bonjour,

Je voulais utiliser les Queries dans une Metadata de base de données et je n'ai pas réussi à utiliser mes requêtes SQL.
A part un SELECT simple, peut-on utiliser une requête SQL CTE (Common Table Expression) dans ce type de Metadata ?
Utiliser une requête SQL CTE m'éviterait de devoir faire un mapping de fou avec au moins 3 étapes de stage contenant des union.

Bonne journée,
Last edit: 08 Aug 2018 09:27 by Thomas BLETON.
More
27 Jul 2018 17:48 #2 by Adrian MATYSIAK
Replied by Adrian MATYSIAK on topic Rdbms Query metadata
Bonjour,

Pouvez-vous nous dire un peu plus sur votre besoin et le problème que vous avez rencontré en essayant d'utiliser ce type de requêtes ?
Quelle requête vous avez utilisé ?
Quel type de base de données ?
A priori si votre requête retourne des colonnes et peut être utilisée en tant que sous-requête, elle devrait fonctionner avec les Queries dans une Metadata.

Cordialement,
More
30 Jul 2018 13:50 #3 by Laurent D.
Replied by Laurent D. on topic Rdbms Query metadata
Bonjour,

Je voulais utiliser ce type de requête SQL sur une base de données DB2 :

WITH UNIFORM_DISTRIBUTION (LEVEL, SAMPLE_VAL) AS (
SELECT 1, 1 FROM SYSIBM.SYSDUMMY1
UNION ALL
SELECT LEVEL + 1, INTEGER(RAND() * 10)
FROM UNIFORM_DISTRIBUTION
WHERE LEVEL < 100
)
SELECT SAMPLE_VAL, COUNT(*)
FROM UNIFORM_DISTRIBUTION
GROUP BY SAMPLE_VAL

Et lorsque je l'utilise en tant que query source, lors de la phase d'intégration, la requête SQL suivante est généré par Stambia ce qui génère une erreur :

select
random_level.NB_LEVEL,
random_level.SAMPLE_VAL,
'I' INCREMENTAL_FLAG
from (WITH UNIFORM_DISTRIBUTION (LEVEL, SAMPLE_VAL) AS (
SELECT 1, 1 FROM SYSIBM.SYSDUMMY1
UNION ALL
SELECT LEVEL + 1, INTEGER(RAND() * 10)
FROM UNIFORM_DISTRIBUTION
WHERE LEVEL < 100
)
SELECT SAMPLE_VAL, COUNT(*)
FROM UNIFORM_DISTRIBUTION
GROUP BY SAMPLE_VAL) random_level
More
30 Jul 2018 17:02 #4 by Adrian MATYSIAK
Replied by Adrian MATYSIAK on topic Rdbms Query metadata
Bonjour,

Effectivement, on dirait que sur les bases de données DB2 (contrairement par exemples aux bases Oracle) on ne peut pas utiliser ce type de requête en tant que sous-requête :
stackoverflow.com/questions/37984236/sel...y-having-with-clause
Et c’est pour cette raison qu’elle ne fonctionne pas avec les templates standards.
Nous allons transmettre ce sujet à notre équipe R&D pour voir comment cela peut être intégré dans une version future de Stambia.

Pour l’instant vous pouvez effectivement faire un mapping avec des stages ou bien vous pouvez envisager de préparer un template/process spécifique pour charger les données retournées par cette requête dans la table d’intégration ou de load (en fonction de vos besoins).
Si vous avez besoin de plus d’info là-dessus je vous invite à ouvrir un ticket auprès du support.

Cordialement,
Adrian MATYSIAK
More
31 Jul 2018 14:43 #5 by Laurent D.
Replied by Laurent D. on topic Rdbms Query metadata
Merci pour l'info.
Pour l'instant je vais me servir des Queries pour stocker les requêtes SQL et l’exécuter dans des SQL Opération.