我的变量是包级别的字符串,并将其添加为readwritevariable 例如:
public void Main()
{
string sServer = "localhost";
Dts.Variables["User::sourceServer"].Value = sServer;
}
会导致 错误:分配给变量的值的类型与当前变量类型不同。变量在执行期间可能不会更改类型。变量类型是严格的,除了Object类型的变量。
答案 0 :(得分:3)
如果您已验证变量确实是包级别的字符串,请确保没有其他变量具有可能具有不同类型的较窄范围。如果您有一个作用于脚本任务的变量,或者脚本任务所在的容器,SSIS将使用该变量而不是包级变量。
您可以通过单击脚本任务在设计器中进行检查,并确保新变量不会出现在变量工具栏中。