J'essaie de copier une vue MySQL avec des paramètres vers Azure SQL Database à l'aide d'Azure Data Factory. Voici la requête pour copier l'activité :
SET @dDebut=20220201; SET @dFin=20220228; select vue_movements_of_month_with_param.* from (select @dDebut, @dFin) param , vue_movements_of_month_with_param LIMIT 10;
C'est ce que j'exécute dans HeidiSQL. Cette vue contient des fonctions qui prennent les paramètres ci-dessus. Dans ADF, j'ai défini les paramètres dDebut et dFin comme pipelines de paramètres :
J'ai ensuite utilisé l'activité de copie dans ADF avec un service lié MySQL :
En utilisant la requête suivante :
@concat('SELECT vue_movements_of_month_with_param.* FROM (SELECT ', pipeline().parameters.dDebut, ', ', pipeline().parameters.dFin, ') param, vue_movements_of_month_with_param LIMIT 10')
Mais le résultat renvoie une table vide. Il semble que mes paramètres ne soient pas reconnus. Comment puis-je résoudre ce problème?
J'ai enfin trouvé la solution. Au lieu de créer la vue avec des paramètres stockés en tant que variables définies par l'utilisateur, j'utilise une procédure stockée pour obtenir les paramètres nécessaires à la saisie.