我在通过 Microsoft.SqlServer.Dts.Runtime 的 API 执行包时遇到问题。我有 4 个 SQL 服务器,它们可能会在 2 个集群中执行我的包。在每个集群中的被动节点上,执行失败 - 报告的错误是 SSIS 评估期已过期。在活动节点上,它工作正常。我不认为它与集群有关,更多的是 SSIS 本身最初并没有安装在活动节点上。我们后来安装了它。周五,我们在被动节点上卸载并重新安装了 SSIS,确保我们使用了正确的安装介质,但没有任何改变。我们还尝试故障转移并再次运行,结果相同(在现在活动的节点上失败)有趣的是,我可以使用问题节点上的执行包实用程序从 SSMS 运行包。但是从 .net API 调用它不起作用。有任何想法吗?我什么也找不到!下面的 API 调用代码...
谢谢!
本
Package pck;
DTSExecResult execResult;
Application app = new Application();
//Load package from SQL Server
pck = app.LoadFromSqlServer(jobParams.SSISPackagePath, jobParams.ServerName, null, null, null);
//Assign values to the package variables
pck.Variables["FlatFileInputPath"].Value = destinationFilePath;
//Execute the package
logger.WriteInfo("Started executing SSIS package...");
execResult = pck.Execute(null, null, new SSISEventsSink(logger), null, null);