DTS_E_OLEDBERROR.错误代码:0x80004005.SQl Native客户端和sql server的oledb提供程序之间的差异

use*_*579 8 sql-server oledb ssis dts

我在SSIS数据流组件中使用SQL Server Native Client 10时出现通信链接错误.

错误:SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005说明:"通信链接失败".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005说明:"TCP提供程序:指定的网络名称不再可用.

所以我从SQL Server Native Client 10更改为Microsoft OLEDB Provider for SQL Server,希望它能正常运行.这次出现了错误,如下所示:

[Transacn_Tbl1 [737]]错误:SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"用于SQL Server的Microsoft OLE DB提供程序"Hresult:0x80004005说明:"SQL Server上发生了未指定的错误.连接可能已被服务器终止."

[Transacn_Tbl1 [737]]错误:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR."输入"OLE DB目标输入"(750)"失败,因为发生错误代码0xC020907B,并且"输入"OLE DB目标输入"(750)"上的错误行处置指定错误失败.指定组件的指定对象发生错误.在此之前可能会发布错误消息,其中包含有关失败的更多信息.

这两个提供商有什么区别?我应该使用哪一个?

Mav*_*ick 1

看起来您必须解决此问题,您必须更改 SQL Server 代理服务启动帐户的 Temp 目录的权限。向 SQL Server 代理代理帐户授予此目录的读取权限和写入权限。

http://support.microsoft.com/kb/933835

  • 有时您需要做的就是保存项目。关闭BIDS/SSDT然后打开试试看是否有错误。如果您没有看到错误,请尝试运行,它工作得很好。 (2认同)
  • 谢谢..完成了这些..4个月前我问过类似的问题..但没有人回答.. (2认同)
  • 任何人都知道具体如何做到这一点? (2认同)