2009-02-09 823 views
1

我在Microsoft.SqlServer.Dts.Runtime通过API执行包时遇到问题。我有4个SQL服务器,可以在2个集群中执行我的软件包。在每个群集中的被动节点上,执行失败 - 报告的错误是SSIS评估期已过期。在活动节点上,它工作正常。我不认为它与集群有关,更多的是SSIS本身并不是最初安装在活动节点上的。我们稍后安装它。星期五,我们卸载并重新安装了被动节点上的SSIS,确保我们使用正确的安装介质,但没有任何变化。我们还尝试了故障恢复并重新运行,结果相同(在当前活动节点上失败) 有趣的是,我可以使用执行包实用程序在问题节点上从SSMS运行包。但从.net API调用它不起作用。有任何想法吗?我找不到任何东西!下面的API调用代码...SSIS包执行失败“Integration Services评估期已过”

谢谢!

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); 
+0

我认为SSIS支持论坛对于这样的问题更好。这看起来更像是一个错误或安装问题,而不是关于设计/编程的问题。 SSIS家伙可能会更好地回答它: http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/threads/ – Michael 2009-02-10 06:54:04

+0

已经做过交叉发帖 http://social.msdn.microsoft.com/论坛/ EN-US/sqlintegrationservices /线程/ be298301-554a-4d88-9cea-f80d9e4dbaf9 – Ben 2009-02-11 16:44:02

回答

1

宾果; SSIS告诉它是通过在

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90 

查看注册表键哪个版本我们的服务器硬化过程除去用户组具有读取访问该键所继承的权限。它不会提供无法读取此密钥的错误,而是认为它是一个评估版本,并且从安装后的180天开始,它已经过期。

将特定帐户恢复到设定的问题。

1

检查你正在使用默认的是什么版本DTEXEC的(开始 - 运行:CMD,DTEXEC)。前一段时间,当我在其中一台服务器上安装了ServicePack时,我遇到了一个错误。然后我安装了几个版本的dtexec.exe。一个是从cmd.exe执行时的默认值,另一个是从API运行时的默认值。您在搜索服务器时发现了多少个不同的“dtexec.exe”文件?

0

如果我以本地管理员身份运行进程,这将运行正常!

所以我没有得到“评估期已过期”,如果我作为本地管理员运行 - 离奇。