更改服务器的日期时间停止执行SSIS包,如何测试时间依赖性? (底部错误)
我有一个使用3台服务器的SSIS包,
1.Server A从
获取数据2.Server B将数据插入
3.Server C是SSIS包所在的位置,并从中执行。
从服务器A获取数据时,我有一个选择逻辑,取决于GetDate(),
对于测试,更改服务器C上的日期以根据GetDate()激活逻辑不会应用预期的逻辑。
更改所有3台服务器上的日期或仅更改服务器A和C,或只更改C会导致错误:“说明:由于软件包没有有效的XML格式,无法将软件包加载为XML。特定的XML解析器错误将张贴。“
当更改dev计算机上的日期时,相同的SSIS包按预期运行,因为所有3个数据库都驻留在dev计算机上的同一服务器上。
为什么XML的地狱加载取决于它的日期?
答案 0 :(得分:2)
搞乱系统日期&时间可能会让你陷入困境,很难调试(正如你已经发现的那样)。
删除对GETDATE()
的依赖,将其替换为变量/参数;在生产中运行时,该参数将由GETDATE()
填充,但在测试时,您可以使用您选择的值替换它。