Maison > base de données > tutoriel mysql > Comment interroger une base de données en fonction des résultats d'une autre dans SSIS ?

Comment interroger une base de données en fonction des résultats d'une autre dans SSIS ?

Patricia Arquette
Libérer: 2024-12-19 17:00:12
original
341 Les gens l'ont consulté

How to Query One Database Based on Results from Another in SSIS?

Interrogation d'une base de données basée sur les résultats d'une autre base de données

Dans SSIS, récupérer des données à partir de plusieurs bases de données peut être une tâche courante. Cet article explore trois méthodes pour exécuter une requête dans une base de données en fonction des résultats obtenus dans une autre :

Méthode 1 : Utiliser la transformation Lookup

Ajouter une transformation Lookup pour récupérer le Liste d'ID de la première base de données. Sélectionnez au moins une colonne dans la table de recherche. Cependant, pour filtrer les lignes en fonction de la liste d'ID, vous devez :

  • Définir la gestion des erreurs sur Ignorer la ligne, où les lignes avec des valeurs nulles (issues de la recherche) seront transmises.
  • Utilisez une répartition conditionnelle pour filtrer les lignes avec des valeurs non nulles.

Méthode 2 : utilisation d'un script Tâche

Cette méthode permet d'éviter de charger toutes les données. Utilisez une tâche de script avec du code VB.NET pour récupérer la liste d'ID et la stocker dans une variable utilisateur. Définissez la variable comme source pour une tâche de flux de données ultérieure.

Méthode 3 : Utilisation de la tâche d'exécution SQL

Similaire à la méthode 2, mais en utilisant une tâche d'exécution SQL pour construisez la clause IN. Exécutez la commande SQL suivante pour récupérer un seul jeu de résultats contenant la liste d'ID et la requête :

DECLARE @str AS VARCHAR(4000)

SET @str = ''

SELECT @str = @str + CAST([ID] AS VARCHAR(255)) + ','
FROM dbo.MyTable 

SET @str = 'SELECT * FROM  MySecondDB WHERE ID IN (' + SUBSTRING(@str,1,LEN(@str) - 1) + ')'

SELECT @str
Copier après la connexion

Stockez le résultat dans une variable utilisateur et définissez la propriété DataFlow Task Delay Validation sur True.

En tirant parti de l'une de ces méthodes, vous pouvez interroger efficacement une base de données sur la base des résultats obtenus à partir d'une autre base de données, vous permettant ainsi d'effectuer des opérations de données plus complexes au sein de vos packages SSIS.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal