7

我正在尝试使用 SSIS 中的 WMI 事件观察器任务自动执行包。我想要的功能是在将 excel 文件放入某个文件夹时自动执行包。但是,这些 excel 文件将成为填充数据库的连接管理器。

目前 SSIS 不允许我这样做,因为我的 excel 连接管理器在我运行程序时没有路径,并且只有在文件被放入文件夹后才存在。

有没有办法让变量 excel 连接管理器或连接字符串的值成为变量?

另外,如何在表达式中实现这个变量的使用?

4

2 回答 2

15

您可以为您的 excel 源的连接字符串使用一个变量:

  1. 单击您的 excel 源的连接管理器
  2. 在属性窗口中,添加一个表达式(1) ConnectionString(2) 并分配一个变量(3)

在此处输入图像描述

你可以用变量做很多不同的事情。它们经常与for each loop containers和结合使用file system tasks。你通常会做这样的事情

  1. 在变量窗口中创建一个变量
  2. 设置一个静态值或在包流期间更改的值
  3. 将变量映射到表达式

网上有很多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

于 2012-07-30T13:15:46.187 回答
2

我知道实现这一目标的最快方法是创建一个 excel 连接管理器并通过变量设置其连接字符串。为此,您需要首先通过将连接器指向一个 excel 文件来创建连接器。哪个都没有关系,因为您将在运行时动态设置新文件。然后,选择您的 excel 连接管理器并检查其属性。你有一个ConnectionString属性,你可以通过一个表达式来设置它。

在此处输入图像描述

但是,您必须确保您的包仅在填充了正确的连接字符串后才使用 Excel 连接器!有关 SSIS 变量的更多信息,请查看此链接:SSIS中的变量

于 2012-07-30T13:16:39.923 回答