在“执行 Sql 服务器任务”中使用 SSIS 变量 (@[User::FileName]) 作为更新的一部分?

Using SSIS variable (@[User::FileName]) as part of UPDATE in `Execute Sql Server Task'?

我们有一个 SSIS 项目,它从文本文件读取并插入到 sql server table。

Flat File Connection ManagerFlat File Source 使用变量值 ConnectionString 属性。所以本质上,它是 表达式 ConnectionString = @[User::FileName]。这工作正常,它正在将文件从变量读入 table.

由于文件名需要保存到 table 中,我们还需要将文件名插入到已经存储实际文件内容的 table 中。目前,我们的文本文件中的每一行都有 5 个逗号分隔值,我们读入 table [TableFile],它也有 5 列。

变化是 [TableFile] 现在将有一个额外的列 [FileName]。因此,运行并插入文件内容的 Data Flow Task 也会插入文件名(已保存在变量 @[User::FileName] 中)。

因为 table 总是有一个文件名,我正在考虑以某种方式使用 Execute Sql Server Task 项来用这个值更新 table。但是我不知道如何在 SQL UPDATE 语句中包含 @[User::FileName] 的值。

谢谢。

创建另一个 SSIS 变量来构建和保存整个 UPDATE sql 字符串,使用 FileName 变量来构建字符串的那部分。

然后在执行 SQL 任务中,将 SQL 源类型设置为 "variable",然后选择您的 SQL 字符串变量作为源变量 属性 .