在连接表达式中插入用户变量时出现问题

时间:2011-04-09 11:26:03

标签: ssis scope foreach-loop-container

我正在尝试将110个excel文件导入SSIS2008中的sql server数据库。

我已经在我的foreach循环容器中拖动,指向正确的文件夹。我创建了一个字符串变量(使用foreach循环范围)并将默认值设置为excel文件的源文件夹中的文件。

当我尝试构建连接字符串表达式并尝试查找用户变量时,它不在列表中。列表中唯一的变量是系统变量。

有谁知道我可能会出错的地方。我觉得我已经通过从foreach循环中定义字符串变量来设置正确的范围。

(我所做的User :: FilePath变量在包浏览器中也不可见。)

感谢。

1 个答案:

答案 0 :(得分:3)

我发现当我将变量保持在包级别时,我通常会有更好的SSIS体验。我怀疑连接管理器不喜欢连接字符串变量只在循环中可见,这可能会让它在设计时验证时出现一些心痛。您创建的用户变量是可见的,只是在您正在查看的范围内不可见。如果您单击了SSIS的画布/背景,您将只看到包级别变量。我怀疑变量是在foreach循环中,甚至可能在foreach容器中的数据流或其他任务中。

如果您确实想要找到创建这些变量的位置,请查看未使用的选项卡“Package Explorer”。继续扩展可执行文件并查看Variables项,直到找到缺失的变量。

最后,如果变量处于“错误”级别,则为用户BIDS Helper。即使你有适当级别的变量,也要抓住BIDS Helper。它是免费的,它确实改善了包开发体验。