Exécution de requêtes de base de données basées sur des ensembles de résultats externes
Dans SSIS au sein de VS 2013, vous pouvez rencontrer des scénarios dans lesquels vous devez obtenir une liste de ID d’une base de données et utilisez ensuite cette liste pour interroger une autre base de données. Ce scénario peut être résolu en utilisant différentes approches.
Méthode 1 : Utilisation de la transformation Recherche
Exploitez la transformation Recherche pour récupérer des colonnes spécifiques d'une table distincte en fonction d'un critère de correspondance . Cependant, cette méthode ne filtre pas les lignes mais ajoute simplement les valeurs de la deuxième table. Pour filtrer les lignes en fonction de la liste d'ID, envisagez de gérer les sorties d'erreur dans la transformation Recherche. Cela vous permet soit d'ignorer les lignes, soit de les rediriger vers une sortie d'erreur à des fins de filtrage.
Méthode 2 : Utilisation de la tâche de script
Pour éviter de charger toutes les données en mémoire et filtrage ultérieur, utilisez une tâche de script pour construire la dynamique de requête souhaitée. Cette approche vous permet de créer la clause WHERE IN avec une liste d'ID récupérés de la première base de données.
Méthode 3 : Utilisation de la tâche d'exécution SQL
Similaire à la seconde , la tâche Execute SQL vous permet de créer dynamiquement la clause IN à l'aide d'une commande SQL. L'instruction SQL résultante peut ensuite être utilisée comme source OLEDB dans la tâche DataFlow.
Il est important de noter que ces méthodes ont des considérations de performances et de consommation de mémoire variables. Choisissez l'approche la plus appropriée en fonction des exigences spécifiques de votre scénario et des volumes de données impliqués.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!