0

我有一个当前部署到我的 SSISDB 的 SSIS 包。这个包需要在 32 位模式下运行,当我在 SSDT 中将“64BitRuntime”设置更改为 false 时,它​​运行良好。

当我将它部署到我的 SSISDB 后尝试以 32 位模式运行它时,我的问题就出现了。我的错误发生在以下屏幕上: 在此处输入图像描述

伴随的错误如下:

找不到“ISServerExec.exe”的路径。操作现在将退出。在执行用户定义的例程或聚合“validate_package_internal”期间发生 .NET Framework 错误:System.Data.SqlClient.SqlException:找不到“ISServerExec.exe”的路径。操作现在将退出。System.Data.SqlClient.SqlException:在 System.Data.SqlClient.SqlInternalConnectionSmi.EventSink.DispatchMessages 的 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection,Action1 wrapCloseInAction)在 System.Data.SqlClient .SqlCommand.RunExecuteNonQuerySmi(Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 完成,String methodName,Boolean sendToPipe,Int32 超时,Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteToPipe(SmiContext pipeContext) at Microsoft.SqlServer.Server.SqlPipe.ExecuteAndSend(SqlCommand command) at Microsoft.SqlServer.IntegrationServices.Server.ServerConnectionControl.RaiseError( Microsoft.SqlServer.IntegrationServices.Server.ServerApi.ValidatePackageInternal(SqlInt64 projectId, SqlInt64 package_id, SqlInt64 versionId, SqlInt64 validationId, SqlString targetEnvironment, SqlInt16 use32BitRuntime) 处的 SysMessageId messageId, SysMessageSeverity 严重性, Object[] args)。(Microsoft SQL Server,错误:27108)在 Microsoft.SqlServer.IntegrationServices.Server.ServerApi.ValidatePackageInternal(SqlInt64 projectId,SqlInt64 package_id,SqlInt64 versionId , SqlInt64 验证 ID, SqlString targetEnvironment, SqlInt16 use32BitRuntime) 。(Microsoft SQL Server,错误:27108)在 Microsoft.SqlServer.IntegrationServices.Server.ServerApi.ValidatePackageInternal(SqlInt64 projectId,SqlInt64 package_id,SqlInt64 versionId , SqlInt64 验证 ID, SqlString targetEnvironment, SqlInt16 use32BitRuntime) 。(Microsoft SQL Server,错误:27108)

我该如何解决这个问题?我通过谷歌找到的唯一一件事是如何标记复选框......

4

1 回答 1

0

如果您最近升级 SQL,则可能是存储在 ssisdb 目录中的路径存在问题。就我而言,删除并创建新目录并部署项目,从存储过程执行包时修复了错误 27108。希望能帮助到你。

于 2017-12-13T14:03:18.710 回答