我有一个非常简单的任务,即将Excel工作表导入到SQL 2005数据库表中。我需要为此创建一个SSIS任务。 Excel工作表没有所有需要将插入直接插入永久性sql表的列,但我知道如何链接到其他表并获取缺少的列。所以我想知道如何将Excel工作表导入#tempTable(或@VariableTable),然后在临时表中创建一个我可以编写我的SQL插入代码(使用temptable以及我将链接的其他表)在一个基本的执行SQL任务。但是我很难弄清楚如何用SSIS来做到这一点。当我拖动我的Excel源并尝试将其链接到SQL Server目标时,下拉列表中没有用于临时表的选项。SQL SSIS帮助。将Excel表导入临时表
回答
这样做的SSIS方法将使用合并或查找转换。我不认为你可以把东西放到临时表中,但是你可以有一个ExecuteSQL任务来创建一个真正的表,然后你可以把它放在包的最后。然后你可以让你的软件包使用它。
在设计期间,您可能需要将表格链接起来,但实际运行程序包时不需要在那里。
我会从哪开始?我仍然使用Excel来源?到目前为止,我能做的唯一事情就是直接从Excel导入到SQL表中,而无需进行任何修改或链接? – 2010-06-24 21:38:28
是的,你可以从Excel源码开始。如果你想在包中创建一个表,只需在你的数据转换任务之前添加一个执行SQL任务来创建它,然后在末尾添加一个执行SQL任务来清理它。如果要使用合并连接或查找,则可以使用Excel源作为一个输入,并将SQL表作为另一个用于转换。这些都是在数据转换任务中完成的。 – 2010-06-25 01:28:32
首先,您需要为Excel工作表创建登台表。打开SSMS,右键单击数据库,选择任务,导入数据。将导入源设置为excel。浏览到该文件。将目标设置为SQL Server。您可以接受表名或按照您的意愿命名。我建议把它命名为有用的东西。根据您对数据类型的理解以及Excel表格中的内容,可能需要一段时间才能做到这一点。最终,您将拥有一个表格,它将接受Excel表格的内容。
其次,通过使用excel源和sql服务器或oledb目标创建您的ssis包。
采取在控制流程中执行SQL任务来创建excel表surce的目标登台表。
在数据流中使用excel源和oled数据库目标到登台表在第一步创建。
3.在控制流中,使用合并或连接语句到您的excel目标登台表与其他源表到最终目标表。
感谢 prav
但是,步骤1中创建的#tmpTable不在下拉列表中,可以在步骤2 oled db目标表中进行选择。 – 2010-06-24 22:49:33
使用与excel源代码相同的结构派生表,并在优先级约束条件下使用完成状态删除该进程的末尾。 #table不是一个理想的,因为它的范围,也没有推荐由于并行处理。 – prav 2010-06-24 23:15:19
- 1. SSIS - 从CSV导入到临时表
- 2. 从临时表导入SQL
- 3. SSIS临时临时表
- 4. 将数据从SQL服务器导入Excel工作表SSIS
- 5. 使用SSIS将每个Excel文件导入新的SQL表
- 6. 将Excel表导入MS SQL表
- 7. SSIS导入Excel文件到临时表,然后优秀的存储过程
- 8. 帮助使用导入工具或SSIS将包含每行可变列的CSV文件导入SQL表格
- 9. 将Excel/XLS导入SSIS?
- 10. SSIS两个临时表
- 11. sql查询的帮助 - 试图摆脱临时表
- 12. 从Excel导入到SQL表
- 13. 将SSIS包导入SQL 2014
- 14. SSIS动态文件导入到SQL表
- 15. SSIS包导入Excel文件到SQL Server
- 16. SSIS导入SQL Server中的Excel公式
- 17. 在ssis包中使用临时表
- 18. IronPython脚本帮助 - 在SPotfire中将交叉表导出到Excel
- 19. SQL帮助加入多个表
- 20. 帮助SQL在两个表上加入
- 21. SQL需要帮助加入表格
- 22. 使用SSIS将SQL导出到Excel(xlsx)?
- 23. phpMyAdmin SQL - 临时表
- 24. 临时表在SSIS中立即丢弃
- 25. 帮助在SSIS
- 26. 如何通过Sql将表导入excel时忽略一个头
- 27. CakePHP表加入帮助
- 28. 如何将多个Excel表导入2个sql服务器表?
- 29. SQL表设计帮助
- 30. SQL表达式帮助
你是怎么想加入你已经在你的表中的数据,新数据? SSIS有许多转换(查找等),可以从其他表中加载数据,从而允许您构建最终数据流,然后插入成品。 – 2010-06-24 18:48:18
另外,您可能会发现OLE DB目标为您提供比SQL Server目标更大的灵活性,这对于您想要执行的操作可能更有用。 – 2010-06-24 18:51:51
没有prefrence如何加入数据。我只是在想这样的事情: 插入到FinalTable(Col1,2 ...,3) 从#NewTempTableFromExcel在t1处选择t1.field1,t2.field2,t3.field3 内部连接表2作为t2在t2 .ID = t1.ID 但是,如果我可以在一步完成所有工作,甚至无需创建一个非常棒的临时表。 – 2010-06-24 19:06:02