使用SSIS

时间:2017-08-03 15:30:39

标签: sql-server excel ssis

我要求我需要将带有多个标签的Excel文件加载到SQL Server表中。

Excel文件包含多个选项卡,其中包含每月的数据。我应该将当前月份标签视为每月月份文件,并将每天的完整标签导入为截断并重新加载。

截断并重新加载当前标签和上个月标签的原始表格。

我们如何使用动态标签变量来识别SSIS中的摄取?

FYI .. Excel文件中的TABS分别命名为Jan,Feb,Mar,Apr,May,Jun,July,Aug,Sep,Oct,Nov,Dec。

这些标签随机命名 - 不是按顺序命名..

有人可以指导我吗?

以下是如何安排标签的示例。

enter image description here

谢谢,

Swathi。

1 个答案:

答案 0 :(得分:0)

也许您需要进行一些调整才能在循环中运行,或者Sheets的月份名称是否相同。

  1. 使用脚本任务和一个DTS任务创建一个包 enter image description here

  2. 创建DTS变量以保存您正在加载的两个月的月份名称和工作表名称。 enter image description here

  3. 编辑脚本任务以使用读取和写入变量 enter image description here

  4. 添加以下脚本以选择月份

    public void Main() { string [] months = new [] {“Jan”,“Feb”,“Mar”,“Apr”,“May”,“Jun”,“July”,“Aug”,“Sep”,“Oct”,“ Nov“,”Dec“}; //获取当前月份e,如果Jan获得Dec int Month1 = DateTime.Now.Month - 1; int Month2 = Month1 == 0? 11:第1个月 - 1;

    Dts.Variables [“User :: Month1Name”]。Value = months [Month1]; Dts.Variables [“User :: Month1Sheet”]。值=月[Month1] +“$”; Dts.Variables [“User :: Month2Name”]。Value = months [Month2]; Dts.Variables [“User :: Month2Sheet”]。Value = months [Month2] +“$”; }

  5. 绘制DTS任务 enter image description here

  6. Ajuste Excel连接源以匹配变量 enter image description here

  7. Ajuste Derivation列插入月份名称(可选) enter image description here