在“执行 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 Manager
为 Flat 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 字符串变量作为源变量 属性 .
我们有一个 SSIS
项目,它从文本文件读取并插入到 sql server
table。
Flat File Connection Manager
为 Flat 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 字符串变量作为源变量 属性 .