将一批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里面的。