SSIS: Filtrowanie wielu identyfikatorów GUID ze zmiennej łańcuchowej jako parametru w przepływie danych Źródło OLE
Mam pakiet SSIS, który uzyskuje listę nowych identyfikatorów GUID z tabeli SQL. Następnie niszczę identyfikatory GUID na zmienną łańcuchową, tak że rozdzielam je przecinkami. Przykładem ich występowania w zmiennej jest:
'5f661168-aed2-4659-86ba-fd864ca341bc','f5ba6d28-7283-4bed-9f11-e8f6bef225c5'
Problem dotyczy zadania przepływu danych. Używam zmiennej jako parametru w zapytaniu SQL, aby uzyskać dane źródłowe i nie mogę uzyskać wyników. Gdy klauzula WHERE wygląda następująco:
WHERE [GUID] IN (?)
Dostaję błąd nieprawidłowego znaku, więc odkryłem, że niejawna konwersja nie działa z GUID, tak jak myślałem. Mogę to rozwiązać, umieszczając {} wokół identyfikatora GUID, jeśli był to pojedynczy identyfikator GUID, ale istnieje potencjalnie 4 lub 5 różnych identyfikatorów GUID, które trzeba będzie pobrać w czasie wykonywania.
Dowiedziałem się, że mogę to obejść:
WHERE CAST([GUID] AS VARCHAR(50)) IN (?)
Ale to po prostu nie daje żadnych wyników, aw moim obecnym teście powinny być dwa.
Sądzę, że musi istnieć sposób na osiągnięcie tego ... Czego mi brakuje?