我正在尝试将 110 个 excel 文件导入 SSIS2008 中的 sql server 数据库。
我正处于拖入 foreach 循环容器并指向正确文件夹的位置。我制作了一个字符串变量(具有 foreach 循环范围)并将默认值设置为 excel 文件源文件夹中的一个文件。
当我尝试构建连接字符串表达式并尝试查找用户变量时,它不在列表中。列表中的唯一变量是系统变量。
有没有人知道我可能哪里出错了。我觉得我已经通过从 foreach 循环定义字符串变量来设置正确的范围。
(我创建的 User::FilePath 变量在包资源管理器中也不可见。)
谢谢。
最佳答案
我发现当我将变量保留在包级别时,我通常可以获得更好的 SSIS 体验。我怀疑连接管理器不喜欢连接字符串变量只在循环中可见,这可能会导致它在设计时验证时遇到一些麻烦。您创建的用户变量是可见的,只是在您查看的范围内不可见。如果您单击了 SSIS 的 Canvas /背景,您将只会看到包级变量。我怀疑变量在 foreach 循环中,或者甚至可能在 foreach 容器内的数据流或其他任务中。
如果您真的想找到创建这些变量的位置,请查看未使用的选项卡“Package Explorer”。继续展开可执行文件并查看变量项,直到找到丢失的变量。
最后,如果您有“错误”级别的变量,用户 BIDS Helper .即使您拥有正确级别的变量,也可以使用 BIDS Helper。它是免费的,并且确实改善了包开发体验。
关于ssis - 在连接表达式中插入用户变量时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604722/