A primeira resposta da Sqillman ( link ) funciona! Parabéns!
Veja o que resolveu para nós ...
Para nós, a resposta (acima / abaixo?) permite acesso aos bancos de dados do SQL Server 2000 dos pacotes do SQL Server 2012 Integration Services hospedados em um servidor de banco de dados do SQL Server 2012 em execução no sistema operacional Windows Server 2012. Seguimos essas sugestões para instalar o SQLNCLI10 em nosso servidor de banco de dados de 2012. Nosso problema ocorreu porque o servidor db de hospedagem nunca teve o SQL 2008 "SQLNCLI10" antigo instalado. Ou seja, nunca teve o SQL Server 2008 instalado ou um sistema operacional mais antigo.
O erro do servidor SSIS que iniciou nossa pesquisa foi: "O provedor OLE DB solicitado SQLNCLI10.1 não está registrado"
É importante notar que ao seguir a solução do squillman / technet / etc, ao instalar o 2008 SQLNCLI.msi em um de nossos novos servidores, recebemos o erro "A instalação do SQL Server 2008 falhou porque uma versão superior já existe na máquina .... "Apesar disso, o driver foi instalado e funcionou corretamente sem prejudicar a funcionalidade do servidor de db de 2012. É instalado juntamente com o driver 2012 SQLNCLI11 existente.
No SSIS 2012, nossos pacotes usam uma conexão "OLE DB \ SQL Server Native Client 10.0" para acessar os bancos de dados do SQL Server 2000 (na verdade, editamos as strings de conexão e alteramos o Provider de "SQLNCLI11.1" para "SQLNCLI10. 1 "). Os desenvolvedores tinham os dois drivers em suas máquinas e os servidores db nos quais foram originalmente implantados. Foi somente quando os servidores finais "Pure" 2012 foram criados que o driver antigo desapareceu e os pacotes falharam.
Nota: Nas sequências de ligação, "Fornecedor = SQLNCLI10.1" é um sinónimo de "Fornecedor = SQLNCLI10". ambos usam a mesma dll.
- Patrick Hayes, Stefanini