Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Корпорация Майкрософт распространяет Microsoft SQL Server 2005, Microsoft SQL Server 2008, и исправления Microsoft SQL Server 2008 R2 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2005, Microsoft SQL Server 2008 или SQL Server 2008 R2 исправления выпуска.

Симптомы

Рассмотрим следующий сценарий:

  • Запуск пакета служб интеграции SQL Server 2008 R2, Microsoft SQL Server 2008 или Microsoft SQL Server 2005 (SSIS) на компьютере, который имеет один из следующих установок платформа.NET Framework:

    • Платформа.NET Framework 2.0 Пакет обновления 2 (SP2)

    • Платформа.NET Framework 3.5 Пакет обновления 1 (SP1)

  • Пакет служб SSIS использует драйвер ODBC стороннего, импорт символьных данных.

Тем не менее при выполнении пакета служб SSIS, появиться следующие сообщения об ошибках:

[Источник ADO NET [1424]] Ошибка: Служб SSIS код ошибки DTS_E_INDUCEDTRANSFORMFAILUREONERROR. «Компонент «ADO NET источник» (1424)» не удалось, поскольку произошла ошибка с кодом 0x80131937 и стратегию обработки ошибок строк «выходной столбец «имя_столбца» (номер)» определяет сбой по ошибке. Произошла ошибка в указанном объекте указанного компонента. Могут быть опубликованы до этого более подробные сведения об ошибке сообщения об ошибках.

Ошибка 0xc0209029: Задача потока данных: не удалось выполнить «Компонент «пакет» (1)», поскольку произошла ошибка с кодом 0x80131937...

[Источник ADO NET [1424]] Ошибка: Не удалось обработать данные компонента «ADO NET источник» (1424). Компонент конвейера возвратил код ошибки HRESULT 0xC0209029 из вызова метода.

[СЛУЖБЫ SSIS. Конвейер] Ошибка: код ошибки служб SSIS DTS_E_PRIMEOUTPUTFAILED. Вызов метода PrimeOutput для компонента «Источник ADO NET» (1424) возвращен код ошибки 0xC02090F5. Компонент вернул код ошибки при вызове PrimeOutput() обработчика конвейера. Значение кода ошибки определяется компонентом, но ошибка является неустранимой, и выполнение конвейера остановлено. Могут быть опубликованы до этого более подробные сведения об ошибке сообщения об ошибках.

Эта проблема затрагивает драйверы ODBC, доступных из управляемого поставщика ODBC, если выполняются следующие условия:

  • С помощью параметра значение CommandBehavior.SequentialAccess вызывается функция ExecuteReader . Этот вызов и параметров используются в следующих обстоятельствах:

    • Когда пакет SQL Server 2005 SSIS считывает данные из источника DataReader или пакет служб SSIS 2008 SQL Server считывает данные из управляемого источника данных ADO.NET.

    • Источник данных не настроен для перенаправления значения ошибки и усечения.

  • Вызывается функция OdbcDataReader.IsDbNull . Пакет служб SSIS использует этот метод для определения, установлено ли значение в поле значение NULL.

  • Вызывается один из следующих функций:

    • Для получения определенных типов данных, например DT_BYTES, из управляемого поставщика ODBC вызывается функция OdbcDataReader.GetBytes .

    • Для получения определенных строковых типов данных, таких как DT_WSTR, из управляемого поставщика ODBC вызывается функция OdbcDataReader.GetChars .

Причина

Платформа.NET Framework 2.0 SP2 и платформа.NET Framework 3.5 SP1 внести изменения в управляемый поставщик ODBC, по которому строки считываются из исходным драйвером ODBC, в ситуации, описанной в разделе «Проблема». Из-за этого изменения управляемым поставщиком ODBC, который вызывается в собственный драйвер ODBC с помощью функции SQLGetData API использует буфер размером 0. В этом вызове драйверов, совместимых с ODBC проблем не возникает. Однако несовместимых драйверов ODBC могут работать в следующих случаях. Для совместимого драйвера ODBC функция SQLGetData API возвращает обнаружил SUCCESS_WITH_INFO, когда буфер размером 0. Для несовместимых драйверов ODBC возвращается NO_DATA.

Решение

Сведения об исправлении

Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте данное исправление только в тех системах, которые имеют данную проблему. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.

Если исправление доступно для скачивания, имеется раздел "Пакет исправлений доступен для скачивания" в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.

Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание посетите следующий веб-узел корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В форме "Пакет исправлений доступен для скачивания" отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

Предварительные условия

Требуется платформа.NET Framework 2.0 Пакет обновления 2 установлен.

Сведения о перезагрузке компьютера

Не требуется перезагружать компьютер после установки данного исправления.

Сведения о реестре

Не требуется внесение изменений в реестр.

Сведения о файлах

Данное исправление содержит только файлы, которые необходимы для устранения описанных в этой статье перечислены. Это исправление может содержать не все файлы, которые необходимы для полного обновления продукта до последней сборки. Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку часовой пояс элемента Дата и время панели управления.

Платформа.NET Framework 2.0 для Windows 2000, Windows Server 2003, Windows XP, 32-разрядные версии

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

Платформа.NET Framework 2.0 для Windows 2000, Windows Server 2003, Windows XP x64 версий

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

System.data.dll

2.0.50727.4063

3,008,512

18-

23:51

x64

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

Платформа.NET Framework 2.0 для Windows 2000, Windows Server 2003 версии Windows XP, IA-64

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

System.data.dll

2.0.50727.4063

3,234,816

19-

01:09

IA-64

Платформа.NET Framework 2.0 для 32-разрядных версий Windows Vista, Windows Server 2008

Имя файла

Версия файла

Размер файла

Дата

Время

System.data.dll

2.0.50727.4400

2,933,760

10-Sep-2009

11:54

Платформа.NET Framework 2.0 для ОС Windows Vista, Windows Server 2008 x64 версий

Имя файла

Версия файла

Размер файла

Дата

Время

System.data.dll

2.0.50727.4400

3,008,512

10-Sep-2009

11:54

Платформа.NET Framework 2.0 для версий Windows Vista, Windows Server 2008 IA-64

Имя файла

Версия файла

Размер файла

Дата

Время

System.data.dll

2.0.50727.4400

3,234,816

10-Sep-2009

11:54

Временное решение

Чтобы обойти эту проблему, воспользуйтесь одним из следующих методов.

Способ 1

Измените пакет служб SSIS для настройки ошибок и усечения перенаправление на источник DataReader или управляемого источника данных ADO.NET. После редактирования пакета служб SSIS, чтобы перенаправить вывод ошибок назначения пакета будет выполняться успешно даже если нет строк записанных в назначение. Чтобы сделать это, выполните следующие действия.

Примечание. Предполагается, что вы используете пакет SQL Server 2005 SSIS, который считывает данные из источника DataReader.

  1. Откройте пакет служб SSIS в SQL Server Business Intelligence Development Studio.

  2. Откройте диалоговое окно Расширенный редактор источника DataReader в конструкторе потока данных.

  3. Перейдите на вкладку Свойства входов и выходов и раскройте узел Вывод DataReader в дереве входных и выходных данных .

  4. Разверните узел Выходные столбцы .

  5. Щелкните каждый столбец в Выходные столбцы узел и затем проверьте свойство DataType . Для каждого столбца, свойство тип данных DT_WSTR, DT_BYTES, DT_NTEXT или DT_IMAGE, изменить следующие два свойства:

    • Присвойте свойству ErrorRowDisposition значение RD_RedirectRow.

    • Присвойте свойству TruncationRowDisposition RD_RedirectRow.

  6. Нажмите кнопку ОК , чтобы сохранить изменения.

  7. В конструкторе потока данных добавьте новое место назначения. Например добавьте назначение плоского файла или назначение SQL Server.

  8. Используйте красную стрелку от источника DataReader для подключения к только что добавленный назначения. Чтобы сохранить ошибочные строки этой операции будет направлять строки ошибок и усечения строк в место назначения.

  9. Повторите шаги с 1 по 8 для всех задач потока данных, столбцы строки или изображения ODBC доступ и что не с сообщениями об ошибках, описанные в разделе «Проблема».

Способ 2

Удалите, платформа.NET Framework 2.0 с пакетом обновления 2 или платформа.NET Framework 3.5 с пакетом обновления 1. Тем не менее не рекомендуется удалить пакет обновления, поскольку это лишает надежность, возможность улучшения и оптимизации производительности, которые предлагает пакет обновления.



Чтобы восстановить систему в состояние, существовавшее до установки платформа.NET Framework 2.0 SP2 или платформа.NET Framework 3.5 SP1, выполните следующие действия:

  1. На панели управления дважды щелкните значок Установка и удаление программ.

  2. Найдите Microsoft платформа.NET Framework 3.5 с пакетом обновления 1, а затем удалите ее.

  3. Найдите Microsoft платформа.NET Framework 3.0 с пакетом обновления 2, а затем удалите ее.

  4. Найдите Microsoft платформа.NET Framework 2.0 с пакетом обновления 2, а затем удалите ее.

  5. Переустановите исходный выпуск на платформа.NET Framework 3.5. На этом шаге будет переустановлено, платформа.NET Framework 3.0 SP1 и 2.0 SP1 платформа.NET Framework. Чтобы получить на платформа.NET Framework 3.5, посетите следующий веб-узел корпорации Майкрософт:

    http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

Способ 3

Обратитесь к поставщику стороннего драйвера ODBC, чтобы определить, имеет ли поставщик обновления драйвера для решения этой проблемы.

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×