SSIS Error Code DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR

将一批Job从一台agent服务器搬到另外一台agent, 没有做任何的修改,但是job执行的时候报错。

1 Error: 2014-07-03 14:42:57.14
2    Code: 0xC0209303
3    Source: ReliabilityRS2008 Connection manager "DWPROD"
4    Description: SSIS Error Code DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR.  The requested OLE DB provider SQLNCLI.1 is not registered -- perhaps no 64-bit provider is available.  Error code: 0x00000000.
5 An OLE DB record is available.  Source: "Microsoft OLE DB Service Components"  Hresult: 0x80040154  Description: "Class not registered".


OLE DB provider SQLNCLI.1 is not registered -- perhaps an ole db record is available.  链接错误,但是在vistual 里面测试明明没有问题的。

于是百度尝试了很多办法,如重新设置整个project的属性,将 run64BitRuntime 改成false, 但是没有用。

最后发现是配置文件的问题,配置文件里面指定了OLEDB provider 是SQLNCLI.1 改成高版本的 SQLNCLI10.1, 问题解决。

另外也可以将这里的2个配置文件删除,那链接就会使用每次更新package里面自带的链接方式,在job属性的DataSource分页,

当有configurations文件的时候,有限使用configurateion里面的文件,否则用Datasource里面的。

原文地址:https://www.cnblogs.com/sxypeace/p/3822572.html