SSIS: фильтрация нескольких идентификаторов GUID из строковой переменной в качестве параметра в потоке данных источника OLE
У меня есть пакет служб SSIS, который получает список новых идентификаторов GUID из таблицы SQL. Затем я разделяю GUID на строковые переменные, чтобы разделить их запятыми. Пример того, как они появляются в переменной:
'5f661168-aed2-4659-86ba-fd864ca341bc','f5ba6d28-7283-4bed-9f11-e8f6bef225c5'
Проблема в задаче потока данных. Я использую переменную в качестве параметра в запросе SQL, чтобы получить исходные данные, и я не могу получить свои результаты. Когда предложение WHERE выглядит следующим образом:
WHERE [GUID] IN (?)
Я получаю неверную символьную ошибку, поэтому я обнаружил, что неявное преобразование не работает с GUID, как я думал, что они будут. Я мог бы решить эту проблему, поместив {} вокруг GUID, если бы это был один GUID, но есть потенциальные 4 или 5 различных GUID, которые нужно будет извлечь во время выполнения.
Подумав, я мог бы обойти это с этим:
WHERE CAST([GUID] AS VARCHAR(50)) IN (?)
Но это просто не дает результатов, и в моем текущем тесте должно быть два.
Я полагаю, что должен быть способ сделать это ... Чего мне не хватает?