SSIS: Filtern mehrerer GUIDs aus Zeichenfolgenvariablen als Parameter in der Datenfluss-OLE-Quelle
Ich habe ein SSIS-Paket, das eine Liste neuer GUIDs aus einer SQL-Tabelle abruft. Ich habe dann die GUIDs in eine String-Variable zerlegt, so dass ich sie durch Komma getrennt habe. Ein Beispiel für die Darstellung in der Variablen ist:
'5f661168-aed2-4659-86ba-fd864ca341bc','f5ba6d28-7283-4bed-9f11-e8f6bef225c5'
Das Problem liegt in der Datenflusstask. Ich verwende die Variable als Parameter in einer SQL-Abfrage, um meine Quelldaten abzurufen, und ich kann meine Ergebnisse nicht abrufen. Wenn die WHERE-Klausel so aussieht:
WHERE [GUID] IN (?)
Ich erhalte einen ungültigen Zeichenfehler und habe festgestellt, dass die implizite Konvertierung mit den GUIDs nicht so funktioniert, wie ich es mir vorgestellt habe. Ich könnte das beheben, indem ich {} um die GUID setze, wenn dies eine einzelne GUID wäre, aber es gibt möglicherweise 4 oder 5 verschiedene GUIDs, die zur Laufzeit abgerufen werden müssen.
Ich denke, ich könnte damit umgehen:
WHERE CAST([GUID] AS VARCHAR(50)) IN (?)
Aber das bringt einfach keine Ergebnisse und es sollten zwei in meinem aktuellen Test sein.
Ich denke, es muss einen Weg geben, dies zu erreichen ... Was fehle ich?