SSIS 在本地运行但在服务器上失败
Posted
技术标签:
【中文标题】SSIS 在本地运行但在服务器上失败【英文标题】:SSIS Runs on Local but fails on Server 【发布时间】:2018-05-16 18:16:44 【问题描述】:我构建了一个 SSIS 包,它从多个服务器中提取数据并写入 ssis 所在的主服务器。
我在本地构建它,当我右键单击解决方案中的包并执行时它会运行,但是当我将 dtsx 部署到服务器时,包失败。
在服务器上,它成功执行在主服务器上运行的所有任务,但在需要连接到远程服务器以读取数据的所有任务上失败。
我正在使用 cmd 调用包: SELECT @Cmd = 'DTexec /FILE "' + @Path + 'Package.dtsx" /MAXCONCURRENT 1 /CHECKPOINTING OFF /REPORTING EW'
EXEC @ReturnCode = xp_cmdshell @Cmd
我遇到的错误如下:
列表项说明:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。
一个 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“登录超时已过期”。
一个 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“在建立与 SQL Server 的连接时发生网络相关或特定于实例的错误。未找到或无法访问服务器。检查实例名称是否正确和如果 SQL Server 配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。
一个 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005 描述:“命名管道提供程序:无法打开与 SQL Server [53] 的连接。”。
【问题讨论】:
【参考方案1】:其中一种可能是防火墙阻止了 SQLServer 的 IP 地址。
【讨论】:
这是防火墙问题,现已解决。谢谢【参考方案2】:听起来你有多个问题。但是,这可能有助于解决登录超时问题(如果它们都与登录问题有关,则可能还有其他问题):
EXEC sp_configure 'Remote Login Timeout', 120 ;
GO
RECONFIGURE ;
GO
【讨论】:
感谢您的信息。毕竟是防火墙问题。以上是关于SSIS 在本地运行但在服务器上失败的主要内容,如果未能解决你的问题,请参考以下文章
SSIS 包在 Visual Studio 和命令行中有效,但在代理中无效
CDO 在端口 465 和 587 上连接失败,但在 25 上工作