我正在尝试使用 SSIS 中的 WMI 事件观察器任务自动执行包。我想要的功能是在将 excel 文件放入某个文件夹时自动执行包。但是,这些 excel 文件将成为填充数据库的连接管理器。
目前 SSIS 不允许我这样做,因为我的 excel 连接管理器在我运行程序时没有路径,并且只有在文件被放入文件夹后才存在。
有没有办法让变量 excel 连接管理器或连接字符串的值成为变量?
另外,如何在表达式中实现这个变量的使用?
我正在尝试使用 SSIS 中的 WMI 事件观察器任务自动执行包。我想要的功能是在将 excel 文件放入某个文件夹时自动执行包。但是,这些 excel 文件将成为填充数据库的连接管理器。
目前 SSIS 不允许我这样做,因为我的 excel 连接管理器在我运行程序时没有路径,并且只有在文件被放入文件夹后才存在。
有没有办法让变量 excel 连接管理器或连接字符串的值成为变量?
另外,如何在表达式中实现这个变量的使用?
您可以为您的 excel 源的连接字符串使用一个变量:
你可以用变量做很多不同的事情。它们经常与for each loop containers
和结合使用file system tasks
。你通常会做这样的事情
网上有很多howtos,不妨看看这个来暖和一下:
http://www.simple-talk.com/sql/ssis/working-with-variables-in-sql-server-integration-services/
http://www.rafael-salas.com/2007/03/ssis-file-system-task-move-and-rename.html
我知道实现这一目标的最快方法是创建一个 excel 连接管理器并通过变量设置其连接字符串。为此,您需要首先通过将连接器指向一个 excel 文件来创建连接器。哪个都没有关系,因为您将在运行时动态设置新文件。然后,选择您的 excel 连接管理器并检查其属性。你有一个ConnectionString
属性,你可以通过一个表达式来设置它。
但是,您必须确保您的包仅在填充了正确的连接字符串后才使用 Excel 连接器!有关 SSIS 变量的更多信息,请查看此链接:SSIS中的变量