2

我使用 CSV 中的以下内容来测试 SCD。我认为它会识别 LocationID 并在必要时更新记录。但它没有。它只插入新记录。

我正在使用带有 Win Authentication 的 Visual Studio 2010 和 SQL Server 2012(我认为这不是权限问题,因为如果您查看已执行包的图片,它似乎根本不承认对历史数据的更改。 ) 我也有 Windows 7 家庭高级版。

原始中有很多空值,并且该集合也有更改,但未提交更改。另请注意,当我添加新位置时,即使 LocationID 相同,也会添加两者。

我的数据库

输入到 SSIS 包中。看没有空值!但是上面的数据没有更新。

LocationID,Locations,Address,City,State,Zip,Phone,Country,Region
9,Pluto Disney,5000 Out this World,PlanetRock,PL,85338,(902) 504-1747,US,SolarSystem
1,Disney Lend,159 Mickey Mouse Road,Orlando,FL,58741,(201) 345-1234,US,North
2,Disney Werld,98532 Donald Duck Boulevard,Los Angelos,SA,75523,(601) 375-1345,US,South
3,Disney Pleyground,449 Smoke Mountain Lane,Atlanta,GA,24747,(804) 375-1126,US,East
4,Cajun Desney,Jazz Land Avenue,New Orleans,LA,88888,(904) 325-1237,US,West
5,Wild West Desney,Magic Kingdom Street,Somewhere West,CO,21543,(804) 346-1274,US,Northwest
3,Disney Super Playground,449 Smoke Mountain Lane,Atlanta,GA,24747,(864) 375-1526,US,East
4,Cajen Disney,Jazz Land Avenue,New Orleans,LA,88888,(904) 525-1237,US,West
6,Winter Disney,0 Ice Land Avenue,New Orleans,LA,85588,(900) 507-1297,US,North
2,Disney World,98532 Donald Duck Boulevard,Los Angelos,CA,75523,(671) 375-1345,US,South
7,Desert Disney,100 Melting Pot Way,Phoenix,AZ,85338,(902) 504-1747,US,Southwest
9,Plutian Disney,5000 Out this World,PlanetRock,PL,85338,(902) 504-1747,US,SolarSystem
10,Martian Disney,3000 Rover Drive,RedRock,M,85338,(902) 504-1747,US,SolarSystem

这是我的 SCD 包中的图片

在此处输入图像描述

这是我将所有传入属性映射到数据库属性的地方。

我的 SCD 包屏幕

几乎所有数据都是历史数据,但没有更新 http://i.imgur.com/Z3OrCoB.png

对于下一个我尝试了不同的值,我选择哪一个或全部取消选择都没有区别。

http://i.imgur.com/5Xr3Pdv.png

我保持这个不变(从未改变)我已经启用和禁用了这个。没有结果 完成的屏幕

http://i.imgur.com/8wlC8s1.png

4

1 回答 1

3

好的,我想通了。我仔细考虑了一下。

如果如下选择“如果检测到固定属性发生变化则转换失败”,则整个包将失败。如果取消选择它,包将运行,但如果 SCD 转换检测到固定属性的更改,它将允许所有更改通过,除非它检测到固定属性的更改。所以这意味着,它不会像检查时那样出错或完全取消包裹。但如果该行具有更改的固定属性,它仍然不会忽略或允许其他更改生效。

在此处输入图像描述

问题是我建议使用派生列在派生列转换的表达式列中使用 GetDate() 函数创建 DateCreated 列以确定最初创建列的时间。然后作者建议将此列设置为固定(即使它实际上并没有固定,因为它总是以当前日期进入 SCD。)SCD 将检测到 DateCreated 列的值与数据库,因此所有这些行都将由于该更改而无法更新。

所以这是书的错。

在此处输入图像描述

于 2013-12-01T07:34:40.163 回答