代码之家  ›  专栏  ›  技术社区  ›  Satishakumar Awati

从SSIS变量写入Excel目标

  •  2
  • Satishakumar Awati  · 技术社区  · 6 年前

    我有3个SSIS变量,即 姓名、年龄、性别 设定初始值。我想把这些值一行写进excel表格。稍后我将把这个扩展到记录数组。

    Excel连接 在我想写的地方附上excel表格。

    我添加了控制流任务,双击然后添加 派生列 组件为上述3个变量创建派生列。在派生列编辑器中,我选择了上面的变量作为新的派生列。

    然后是流水线excel目标组件,并将工作表列映射到派生列。我执行了SSIS包并成功执行了它。但变量不会写入excel表中。

    3 回复  |  直到 6 年前
        1
  •  5
  •   KeithL    6 年前

    再说一遍,你需要一个消息来源。我给了你一个“简单”的解决方案。这可能是解决您问题的最佳方法:

    添加脚本组件后的步骤:

    1. 选择源
    2. 转到输入和输出

    Output Columns Image

    1. 回到脚本
    2. 添加变量(性别、姓名和年龄)

    Image adding variables

    1. 添加以下代码

      public override void CreateNewOutputRows()
      {
         Output0Buffer.AddRow();
         Output0Buffer.Age = Variables.Age;
         Output0Buffer.Gender = Variables.Gender;
         Output0Buffer.Name = Variables.Name;
      }
      
        2
  •  1
  •   KeithL    6 年前

    你需要一个消息来源。这个 将使用SQL连接。

    Set SQL = "Select '" + name+ "' as name,"+ age + "as age,'" + gender + "' as Gender
    

    将源设置为SQL变量。

    将此源连接到目标,应该有1行3列

        3
  •  1
  •   Satishakumar Awati    6 年前

    按照 @基思

    1. 选择变量 具有 数据类型。
    2. "SELECT '"+@[User::name]+"' as Name,'"+@[User::gender]+"' as Gender,"+(DT_WSTR,4 )@[User::age]+" as Age"
      
    3. 添加 OLE数据库源 组件并将数据访问模式设置为 来自变量的SQL命令 并选择变量 在下拉列表中。现在,源代码已经准备好了,有3列名称、年龄和性别。

    4. 用管道传送 Excel目标