我有一张excel表,其中包含必须保存在4个表中的信息。我必须为每个表创建唯一的ID。我还必须在表1中插入一些数据,然后在那里创建的唯一ID将用于将数据插入第二个表(参照完整性)。此外,一个表将始终获取要插入的记录,但是如果某些数据已经存在则剩余3个表则必须更新并且不插入。我是SSIS的新手,请指导我如何进一步深入SSIS。
答案 0 :(得分:0)
大量要求:)
首先,here是将excel表加载到sql数据库的包的示例。 您可以轻松地按照它来构建您的包。
的差异:
你说你需要在4个表上插入相同的数据,所以在excel源和目的地之间,你将添加一个多播组件而不是1个目的地,你将有4个。“multicast”将创建4个您的数据副本,因此您可以插入4个表格。
ID可能有问题,因为4个目的地将分别执行,您无法在第一个表上插入ID来更新第二个目的地。我建议您在导入所有内容后在“执行SQL任务”上使用T-SQL执行此操作。
如果无法做到这一点,则需要有4个单独的数据流,每个数据流在每个数据流中执行从excel读取的插入,并使用查找任务连接上一个插入的结果
答案 1 :(得分:0)
将其导入SQL Server上的Temp表。然后,您将能够编写一个查询,该查询从Temp表中检索到多个表。
希望这可以根据您的要求解决您的问题。