我有一个SSIS软件包,它可以在带有BIDS的visual studio中运行良好(由于32位限制导致内存不足)。 现在,当我重新构建软件包时,将dtsx复制到另一个位置并要求DTEXEC运行它,我会受到这种日志消息的轰炸: "说明:CS1056 - 意外字符' $',ScriptMain.cs,660,39"。
从我能够找到的,这涉及到我使用字符串插值作为我的一些脚本任务(C#)的一部分这一事实。 C#版本设置为Visual Studio C#2015,所有脚本在visual studio中编译良好。
DTEXEC确实告诉我它无法在程序包中编译脚本,但是当Visual Studio编译并运行它时它是如何实现的呢?
除了上面提到的错误,我也得到:
对于上面的1,2和3,我检查了各个脚本,没有编译错误或警告。 我希望1,2和3是其他错误的症状,因为代码在visual studio中编译得很好。
包裹的运行方式如下:
/ FILE" E:\ packageName.dtsx" / CONNECTION connName1;" Data Source = server; User ID = username; Password = password; Initial Catalog = catalog1; Persist Security Info = True; Max Pool Size = 10000; MultipleActiveResultSets = True; Connect Timeout = 30; Application Name = someLongAssAutogeneratedName;" / CONNECTION connName2;" Data Source = anotherServer; User ID = anotherUsername; Password = anotherPassword; Initial Catalog = catalog2; Persist Security Info = True; Application Name = anotherLongAssAutogeneratedName;" /检查点/报告IEW / CONSOLELOG NCSMT
该软件包确实指向了正确的SQL服务器版本。
非常感谢任何和所有可能出错的建议。我很茫然。
编辑: