【问题标题】:SQL Server Integration Service Literal ValuesSQL Server 集成服务文字值
【发布时间】:2014-12-23 16:44:45
【问题描述】:

我有这个疑问,在 SSIS 中,我需要将表 A 中的值取到表 B 中。问题是,B 的某些列不属于 A,最后,当我进行映射时我得到了这样的东西:

(数据流任务内部: OLE DB 源 -> 条件拆分 -> 数据转换 -> OLE DB 目标 )

column1column1

<ignore> column2

<ignore> 第 3 列

column4column4

column2 和column3 的值是字面量,如“a”、“b”。但是在数据流中我还没有看到如何将这两个值指示给表 B。

是否可以在插入值后不使用脚本任务来更新表格?

我希望我已经解释清楚了。

【问题讨论】:

  • 如果这两列在您的目标中没有匹配的列,您要如何处理它们?
  • 嗨 Andrew,现在我正在将 Access 项目转换为 SSIS。这是我第一次使用这个工具。稍后需要这两列来匹配我从表 A 中获得的一些信息以及我需要在其他表中插入的值。
  • 那么我认为您需要将它们添加到目标表中。或者,如果每列包含整个表的单个值,您可以将它们存储在变量中。

标签: sql-server ssis


【解决方案1】:

两个选择。最好的方法是将派生列任务添加到您的数据流中 - 可能就在 OLEDB 目标之前。在那里,创建文字列。表达式应该很简单,比如“abcd”或1234。不需要复杂的计算,对吧?

另一种(不太好,但非常好)的方法是修改 OLEDB 源中的查询以添加其他列。将数据访问模式设置为 SQL Query 并编写如下内容:

Select column1, column4, 'abcd' as column2, 1234 as column3 From sourcetable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2023-03-12
    相关资源
    最近更新 更多