Использование SSIS 2005 для извлечения данных из базы данных SQL Server 2008 R2

#sql #sql-server-2008 #ssis

#sql #sql-server-2008 #ssis

Вопрос:

У меня есть пакет SSIS, который выполняется на экземпляре SQL Server 2005, который в настоящее время переносит данные из одной базы данных SQL Server 2000 на другом сервере в базу данных SQL Server 2005 на сервере, на котором запущен пакет SSIS. База данных на SQL Server 2003 переносится на SQL Server 2008 R2. Когда я пытаюсь запустить текущий пакет SSIS в базе данных SQL Server 2005 (после изменения строк подключения), я получаю следующую ошибку:

Ошибка: 2011-10-20 15:09:45.85 Код: 0xC0202009 Источник: диспетчер подключений SSIS_Job «2008R2Conn» Описание: Код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80040154. Доступна запись OLE DB. Источник: «Компоненты службы Microsoft OLE DB» Hresult: 0x80040154 Описание: «Класс не зарегистрирован». Ошибка завершения Ошибка: 2011-10-20 15:09:45.85 Код: 0xC020801C Источник: Шаг [121] Описание: Код ошибки SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. Произошел сбой вызова метода AcquireConnection диспетчера соединений «2008R2Conn» с кодом ошибки 0xC0202009. Перед этим могут быть опубликованы сообщения об ошибках с дополнительной информацией о том, почему не удалось выполнить вызов метода AcquireConnection. Ошибка завершения Ошибка: 2011-10-20 15:. Ошибка шага.,00:00:17,0,0,,,,0

Я изменил строку подключения с:

 <Configuration ConfiguredType="Property" Path="Package.Connections[2008R2Conn].Properties[ConnectionString]" ValueType="String">
        <ConfiguredValue>Data Source=TargetDB;User ID=;Initial Catalog=TargetCatalog;Provider=SQLNCLI.1;Integrated Security=SSPI;Auto Translate=False;</ConfiguredValue>
    </Configuration>
  

Для:

 <Configuration ConfiguredType="Property" Path="Package.Connections[2008R2Conn].Properties[ConnectionString]" ValueType="String">
        <ConfiguredValue>Data Source=TagetDBInstance,<Port #>;User ID=;Initial Catalog=TargetCatalog;Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;</ConfiguredValue>
    </Configuration>
  

Я знаю, что мне пришлось сменить поставщика собственного клиента SQL Server, поскольку исходный не включен в SQL Server 2008 R2.

Я настроил тестовый экземпляр SQL Server 2008 R2 и запустил пакет оттуда, и он успешно работал, но мой клиент не хочет запускать пакет SSIS с одного из серверов с SQL Server 2008 R2 на нем, поэтому я застрял, пытаясь получить пакет SSIS SQL Server 2005 для вызовите базу данных SQL Server 2008. Есть предложения?

Комментарии:

1. SQL Server 2000, 2005, 2008, 2008 R2 являются версиями SQL Server. 2003 применим к Windows и Office.

Ответ №1:

Я знаю, что мне пришлось сменить поставщика собственного клиента SQL Server, поскольку исходный не включен в SQL Server 2008 R2.

Вам нужно только изменить поставщика собственного клиента SQL, если вы собираетесь запускать пакет в окне SQL Server 2008, поскольку поставщик SQLNCLI.1 не поставляется с SQL Server 2008. (Мы находимся в процессе обновления 2005-> 2008R2 и получили бит от этого.)

Однако поставщик SQLNCLI.1 вполне способен взаимодействовать с SQL Server 2008 R2, поэтому вы должны иметь возможность запускать пакет на своем сервере SQL Server 2005 и обновлять данные в базе данных SQL Server 2008R2. (Я только что попробовал это на сервере Windows 2003 под управлением SQL Server 2005, и все работало нормально.)