2009-12-01 59 views
0

我有两个MSSQL 2008数据库dbA和dbB, dbA包含master-detail表对:AMaster,ADetail。对应它dbB还包含BMaster和BDetail。 A和B之间唯一的区别是主键的类型。在源数据库(dbA)中,它是整数,但在目标(dbB)中它是唯一标识符。SSIS 2008中的Master-detail迁移

亲爱的同事们:如何在SSIS中描述数据流来转换这种情况?我需要转换所有字段,但用新的键类型替换它。

+0

你应该考虑很好地构思你的问题。您给出的标题有点误导性 – Faiz 2009-12-05 18:28:56

回答

0

如果您不想将自然主键存储在目标中,那么您将如何更新更新。就好像如果一个记录在源文件中被改变了,并且你想在目标表中复制一个相应的改变,你将怎么做,我的意思是这在逻辑上是不可能的。您必须将基于整数的自然键保留在目标表中,否则您将不得不保持存储旧的自然键和相应的新键映射信息的映射表。

和UID是更大的数字,我不认为将整数转换为UID是一个不错的选择。如果你真的想这样做,就这样做。 INT >> HEX STRING >> UID。点击此处查看更多关于UID的信息[http://msdn.microsoft.com/en-us/library/ms187942.aspx]

+0

谢谢您的回复,但您的回答包含的问题多于答案。希望SSIS包含纯SQL块,因此master-details可以在临时表的帮助下正确解析。 – Dewfy 2009-12-07 16:51:32