繁体   English   中英

SQL SSIS 帮助。 将 Excel 工作表导入临时表

[英]SQL SSIS Help. Import an excel sheet into a temp table

我有一个非常简单的任务,就是将 Excel 工作表导入 SQL 2005 数据库表。 我需要为此创建一个 SSIS 任务。 Excel 表没有我需要将插入直接插入永久 sql 表的所有列,但我知道如何链接到其他表并获取缺少的列。 所以我想知道如何将 Excel 工作表导入#tempTable(或@VariableTable),然后在临时表中导入一个我可以编写我的 SQL 插入代码(使用临时表以及我将链接的其他表) ) 在基本的执行 SQL 任务中。 但我无法弄清楚如何使用 SSIS 做到这一点。 当我拖动我的 excel 源并尝试将其链接到 SQL Server 目标时,下拉列表中没有用于临时表的选项。

执行此操作的 SSIS 方法是使用合并或查找转换。 我不认为你可以像那样把东西放到一个临时表中,但是你可以有一个 ExecuteSQL 任务来创建一个实际的表,然后你可以将它放在包的末尾。 然后你可以让你的包使用它。

在设计期间,您可能需要将表格连接起来,但是当您实际运行包时,它不应该在那里。

首先,您需要为 Excel 工作表创建临时表。 打开SSMS,右键数据库,选择任务,导入数据。 将导入源设置为excel。 浏览到文件。 将目标设置为 SQL Server。 您可以接受表名或根据需要命名。 我建议给它命名一些有用的东西。 根据您对数据类型的理解以及 excel 表中的内容,您可能需要一段时间才能做到这一点。 最终,您将拥有一个可以接受 Excel 工作表内容的表格。

其次,使用 excel 源和 sql serve 或 oledb 目标创建您的 ssis 包。

  1. 以在控制流中执行 SQL 任务创建 excel sheet surce 的目标临时表。

  2. 在数据流中使用 excel 源和 oled db 目标在第一步中创建临时表。

3.在控制流中使用合并或连接语句到您的 excel 目标临时表与其他源表到最终目标表。

谢谢 prav

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM