Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SSIS将数据从excel导入多个表_Ssis - Fatal编程技术网

使用SSIS将数据从excel导入多个表

使用SSIS将数据从excel导入多个表,ssis,Ssis,我有一个excel表,其中包含必须保存在4个表中的信息。我必须为每个表创建唯一的id。我还必须在表1中插入一些数据,然后在那里创建的唯一id将用于将数据插入第二个表(引用完整性)。此外,一个表将始终获得要插入的记录,但对于其余3个表,如果某些数据已经存在,则必须更新它,而不是插入。我是SSIS新手,因此请指导我如何在SSIS中进一步操作。需求负载:) 首先,是一个将excel工作表加载到sql数据库的包的示例。 您可以轻松地按照它来构建包 差异: 您说需要在4个表中插入相同的数据,因此在exce

我有一个excel表,其中包含必须保存在4个表中的信息。我必须为每个表创建唯一的id。我还必须在表1中插入一些数据,然后在那里创建的唯一id将用于将数据插入第二个表(引用完整性)。此外,一个表将始终获得要插入的记录,但对于其余3个表,如果某些数据已经存在,则必须更新它,而不是插入。我是SSIS新手,因此请指导我如何在SSIS中进一步操作。

需求负载:)

首先,是一个将excel工作表加载到sql数据库的包的示例。 您可以轻松地按照它来构建包

差异:

您说需要在4个表中插入相同的数据,因此在excel源和目标之间,您将添加一个多播组件,而不是1个目标,您将有4个。“多播”将创建数据的4个副本,因此您可以将其插入4个表中

ID可能是个问题,因为4个目标将分别执行,所以您无法将ID插入第一个表以更新第二个表。我建议您在导入所有内容后,在“执行SQL任务”上使用T-SQL


如果这是不可能的,您将需要有4个单独的数据流,在每个数据流上,您执行从excel读取的插入,并使用查找任务将上一次插入的结果连接到SQL server上的临时表中。然后,您将能够编写一个从临时表检索到多个表的查询


希望这能按照您的要求解决您的问题。

这是一个令人难以置信的广泛问题。如果您阅读了一些教程,并在这里再次询问您是否真的有具体问题?我知道它的范围很广,但关于我的问题,我已经了解到,多播是一种可能的解决方案,但我仍然需要一些指导。Thanx Diego,正如您提到的“执行SQL任务”,甚至我也有同样的想法,但我不是很清楚。我已经创建了一个存储过程来在4个表中插入或更新数据。您能告诉我这个存储过程将在哪里执行吗。我指的是所有步骤的顺序。