在SSIS中,经常会遇到导带有Identity的字段,Identity字段是不允许插入的。有一个笨方法可以实现,先把目的数据表的Identity 字段设置成No,等导完数据后再设回来。当然这样做很麻烦也很容易出错。其实是可以通过设置来完成的。
设置方法(这里以OLE DB方式为例):
1) 双击OLE DB Destination,在弹出的窗口中Connection Manager tab中的Data access mode中选择Table or view – fast load,然后将下面的Keep identity复选框选上,如下图。
2) 切换到Mapping tab,注意这里的源表和目的表中的ID都为Identity的,但是我们还是可以把它们Map起来,因为我们已经选择了Keep identity,要不然,会提示目的表的ID不允许插入的,如下图。
这样就可以顺利导数据了,完成后,目的表的ID跟源表的ID数据一样。