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

问题描述 投票:0回答:3

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

sql ssis
3个回答
0
投票

SSIS的方法是使用Merge或Lookup转换。我不认为你可以把东西放到这样的临时表中,但你可以有一个ExecuteSQL任务创建一个实际的表,然后你可以在包的末尾放下它。然后,您可以让您的包使用它。

在设计期间,您可能需要使用该表来链接,但在实际运行包时不应该存在。


0
投票

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

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


0
投票
  1. 在控制流中执行执行SQL任务以创建Excel工作表的目标登台表。
  2. 在数据流中使用excel源和oled db target到staging表创建的第一步。

3.在控制流中,使用merge或join语句将excel目标登台表与其他源表连接到最终目标表。

谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.