Использование служб SSIS 2005 для извлечения данных из базы данных SQL Server 2008 R2 - PullRequest
0 голосов
/ 20 октября 2011

У меня есть пакет служб 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». Результат: 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=TagetDB\Instance,<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 на нем, поэтому я застрял, пытаясь заставить пакет SQL Server 2005 SSIS вызывать SQLСервер 2008 БД.Есть предложения?

1 Ответ

1 голос
/ 21 октября 2011

Я знаю, что мне пришлось сменить поставщика собственного клиента 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, и он работал нормально.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...