我构建了一个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]。”。
答案 0 :(得分:2)
其中一种可能性是防火墙阻止了SQLServer的IP地址。
答案 1 :(得分:0)
听起来有点像你有多个问题。但是,这个可以帮助解决登录超时问题(如果它们都与登录问题有关,可能还有其他问题):
EXEC sp_configure 'Remote Login Timeout', 120 ;
GO
RECONFIGURE ;
GO