我花了一个多小时才找到问题的解决方案 - 现在我很好奇为什么它有效。当我执行一个包时,我在SSIS中遇到了这个错误:
我有一个访问变量的脚本任务。我正确地将它添加到脚本任务的ReadOnlyVariables集合中,并且相信我使用了正确的案例。这是我的脚本行无效:
string textToWrite = (string)Dts.Variables["User::TestNumber"].Value;
最终我将其更改为:
string textToWrite = Dts.Variables["User::TestNumber"].Value.ToString();
一切正常。我的问题是:为什么之前失败了?
答案 0 :(得分:1)
如果测试编号是一个整数,那么第一行代码会抛出异常,因为没有从Int32到string定义的类型转换,这就是为什么我们有ToString()