小编Chr*_*ris的帖子

SSIS:从字符串变量中过滤多个GUID作为数据流OLE源中的参数

我有一个SSIS包,它从SQL表中获取新的GUID列表.然后我将GUID切成一个字符串变量,以便我用逗号分隔它们.它们如何出现在变量中的一个例子是:

'5f661168-aed2-4659-86ba-fd864ca341bc','f5ba6d28-7283-4bed-9f11-e8f6bef225c5'
Run Code Online (Sandbox Code Playgroud)

问题出在数据流任务中.我使用变量作为SQL查询中的参数来获取我的源数据,但我无法得到我的结果.当WHERE子句看起来像:

WHERE [GUID] IN (?) 
Run Code Online (Sandbox Code Playgroud)

我得到一个无效的字符错误,所以我发现隐式转换不能像我认为的那样使用GUID.如果这是一个GUID,我可以通过在GUID周围放置{}来解决这个问题,但是在运行时需要检索4或5个不同的GUID.

想象我可以解决这个问题:

WHERE CAST([GUID] AS VARCHAR(50)) IN (?)
Run Code Online (Sandbox Code Playgroud)

但这根本没有产生任何结果,在我目前的测试中应该有两个.

我认为必须有办法实现这一目标......我错过了什么?

string oledb variables ssis guid

3
推荐指数
1
解决办法
1403
查看次数

标签 统计

guid ×1

oledb ×1

ssis ×1

string ×1

variables ×1