代码之家  ›  专栏  ›  技术社区  ›  CPU_BUSY

ssis c script task-是否可以设置dts.variable-错误:分配给变量的值的类型与当前变量类型不同

  •  1
  • CPU_BUSY  · 技术社区  · 15 年前

    我的变量是包级别的字符串,已将其添加为readwritevariable 例子:

                public void Main()
    {
                string sServer = "localhost";
                Dts.Variables["User::sourceServer"].Value = sServer;
    }
    

    将导致 错误:分配给变量的值的类型与当前变量类型不同。变量在执行期间不能更改类型。变量类型是严格的,对象类型的变量除外。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Ryan Brunner    15 年前

    如果您已经验证了变量确实是包级别的字符串,请确保没有其他具有更窄范围的变量可能具有不同类型。如果脚本任务的作用域内有变量,或者脚本任务所在的容器,则SSIS将使用该变量而不是包级别变量。

    您可以通过单击脚本任务并确保新变量不会出现在变量工具栏中,在设计器中检查此项。