【问题标题】:Using SSIS variable (@[User::FileName]) as part of UPDATE in `Execute Sql Server Task'?在“执行 Sql Server 任务”中使用 SSIS 变量 (@[User::FileName]) 作为 UPDATE 的一部分?
【发布时间】:2015-12-08 07:57:46
【问题描述】:

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

Flat File SourceFlat File Connection Manager 使用变量值作为ConnectionString 属性。所以本质上,它是 表达式 ConnectionString = @[User::FileName]。这工作正常,它正在将文件从变量读取到表中。

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

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

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

谢谢。

【问题讨论】:

    标签: sql-server sql-server-2008 tsql ssis bids


    【解决方案1】:

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

    然后在 Execute SQL 任务中,将 SQL Source Type 设置为“variable”,并选择您的 SQL String 变量作为 Source Variable 属性。

    【讨论】:

    • 我从没想过。我在实际更新时遇到了问题,但这是一个全新的问题,我可以发布一个关于此的问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    相关资源
    最近更新 更多