КОРЕКЦИЯ: Съобщение за грешка, когато изпълнявате SQL Server 2005, SQL Server 2008 или интегриране на услуги на SQL Server 2008 R2 пакет (SSIS) след инсталиране на .NET Framework 2.0 SP2 или .NET Framework 3.5 SP1: "ADO NET източник [1424]"

ГРЕШКА #: 112699 (поддръжка на съдържанието)
VSTS бъг номер: 266054

Microsoft разпространява Microsoft SQL Server 2005, Microsoft SQL Server 2008 и Microsoft SQL Server 2008 R2 се определя като един файл за изтегляне. Тъй като корекциите са сборни, всяка нова версия съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2005, Microsoft SQL Server 2008 или SQL Server 2008 R2 fix съобщение.

Симптоми

Да разгледаме следния сценарий:

  • Изпълнявате пакет на Microsoft SQL Server 2005, Microsoft SQL Server 2008 или SQL Server 2008 R2 интеграция услуги (SSIS) на компютър с една от следните инсталации на .NET Framework:

    • .NET Framework 2.0 Service Pack 2 (SP2)

    • .NET Framework 3.5 Service Pack 1 (SP1)

  • SSIS защитена ODBC драйвера, импортира данни знаци.

Обаче когато изпълнявате SSIS пакет, получавате следното съобщение за грешка:

[ADO NET източник [1424]] Грешка: SSIS код на грешка DTS_E_INDUCEDTRANSFORMFAILUREONERROR. "Компонент"ADO NET код"(1424)" е неуспешно, защото възникна грешка 0x80131937 и грешка ред разпределението на "изходна колона"columnname"(номер)" задава неуспех при грешка. Възникна грешка в зададения обект на компонент. Може да има съобщения за грешки, публикувани преди това с повече информация за тази грешка.

Грешка 0xc0209029: Данни поток задача: "компонент"ComponentName"(1)" е неуспешно, защото възникна грешка 0x80131937...

[ADO NET източник [1424]] Грешка: Компонента "ADO NET код" (1424) не успя да обработи данните. Канал компонент е върнал HRESULT код на грешка 0xC0209029 от извикване на метод.

[SSIS. Грешка канал]: SSIS код на грешка DTS_E_PRIMEOUTPUTFAILED. PrimeOutput метод на компонент "ADO мрежа" (1424) грешка връща код 0xC02090F5. Компонентът връща код за грешка, когато машината канал се нарича PrimeOutput(). Значението на кода на грешка се определя от компонент, но грешката е фатално и канал спря изпълнение. Може да има съобщения за грешки, публикувани преди това с повече информация за тази грешка.

Този проблем засяга ODBC драйвери, които са достъпни от доставчика на управляваните ODBC, когато са налице следните условия:

  • ExecuteReader функция се извиква от параметъра CommandBehavior.SequentialAccess . Този разговор и параметър използвани при следните условия:

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

    • Източникът на данни не е конфигуриран за пренасочване на грешката и прекъсването стойности.

  • OdbcDataReader.IsDbNull функцията се нарича. SSIS пакет използва този метод, за да определи дали стойността в полето е NULL или не.

  • Един от следните функции се нарича:

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

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

Причина

.NET Framework 2.0 SP2 и .NET Framework 3.5 SP1 въвеждане на промяна в предоставянето на управлявани ODBC, с който низове се четат от основните ODBC драйвер в случай, описан в раздела "Симптоми". Поради тази промяна управлявани ODBC доставчик, който се нарича в местните ODBC драйвер чрез функцията SQLGetData API използва буфер размер 0. Съвместими с ODBC драйвери нямат проблеми в този разговор. Обаче noncompliant ODBC драйвери може да е неуспешно при тези обстоятелства. Съвместими с ODBC драйвер, за SQLGetData API връща SUCCESS_WITH_INFO когато буфер размер 0 е открит. Noncompliant ODBC драйвер, за повикване връща NO_DATA.

Решение

Информация за актуалната корекция

Поддържана актуална корекция се предлага от Microsoft. Тази актуална корекция обаче е предназначена да коригира само проблема, описан в тази статия. Прилагайте тази корекция само към системи, изпитващи този конкретен проблем. Може да се проведат допълнителни тестове на тази актуална корекция. Следователно ако не сте силно засегнати от този проблем, препоръчваме да изчакате следващата актуализация на софтуера, който ще съдържа тази корекция.

Ако актуалната корекция е налична за изтегляне, има секция "Налично изтегляне предлага" в горната част на тази статия от базата знания. Ако тази секция не се появява, свържете се с Microsoft за обслужване на клиенти и поддръжка, за да получите актуалната корекция.

Забележка: Ако възникнат допълнителни проблеми или проблеми, трябва да създадете отделна заявка за поддръжка. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към конкретната актуална корекция. За пълен списък на телефонните номера на Microsoft за обслужване на клиенти и поддръжка или да създадете отделна заявка за поддръжка посетете следния уеб сайт на Microsoft:

http://support.microsoft.com/contactus/?ws=supportЗабележка: Формулярът "Налична актуална корекция изтегляне" показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език, това е защото актуалната корекция не е налична за този език.

Необходими условия:

Трябва да имате .NET Framework 2.0 Service Pack 2 инсталиран.

Информация за рестартиране

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

Информация за системния регистър

Не трябва да промените системния регистър.

Информация относно файл

Тази актуална корекция съдържа само файловете, които са необходими за отстраняване на проблеми, които са изброени в тази статия. Тази актуална корекция може да не съдържа всички файлове, които трябва да се наложи да актуализирате напълно продукта до най-новата компилация. Английската версия на тази актуализация има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между 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 за Windows Vista, Windows Server 2008, 32-битови версии

Име на файл

Версия на файла

Размер на файла

Дата

Време

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

Ако тази актуална корекция не е предоставена за публично изтегляне (което означава, в тази статия не е предоставен публичен URL адрес за нея), разпространението изисква техническо ръководство, одобрение от ръководител или член на екипа и се прилага следната информация:

  • За да получат поправката, потребителите трябва да са се натъкнали, споменато в раздела "Симптоми".

  • Трябва да регистрирате потребителите да изпращате и да ги снабдите със следващия сервизен пакет, когато той се появи (ако е издаден такъв).

Тази актуална корекция е планирана да бъде включена в .NET Framework 2.0 Service Pack 3.

В раздела "Решение" се посочва дали тази актуална корекция е налична като актуална корекция или е в най-новия сервизен пакет. За сравнение и проверка оригиналната актуална корекция е налична на уеб сайта на http://hotfix .

Заобикаляне на проблема

За да заобиколите този проблем, използвайте един от следните методи.

Метод 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. Щракнете върху всяка колона под възела Изходни колони и след това проверете свойството тип данни . За всяка колона, чийто тип данни свойство е DT_WSTR, DT_NTEXT, DT_BYTES или DT_IMAGE, промените следните две свойства:

    • Задайте свойството ErrorRowDisposition RD_RedirectRow.

    • Задайте свойството TruncationRowDisposition RD_RedirectRow.

  6. Щракнете върху OK , за да запишете промените.

  7. В потока на данни дизайнер Добавете ново местоназначение. Например Добавете текстов файл местоназначение или SQL Server местоназначение.

  8. Използвайте червена стрелка от източника на DataReader да го свържете към новото местоназначение. Тази операция ще ви насочи редове и редове, служещ за местоназначението за записване на редове.

  9. Повторете стъпки от 1 до 8 за всички данни поток задачи, които достъп ODBC низ или изображение колони и че не със съобщенията за грешки, споменати в раздела "Симптоми".

Метод 2

Деинсталиране на .NET Framework 2.0 SP2 или .NET Framework 3.5 SP1. Обаче не препоръчваме да деинсталирате сервизния пакет поради това жертва надеждността, подобрения на функции и производителността оптимизации, които предлага сервизен пакет.



За да възстановите системата до състояние, което е бил преди да инсталирате .NET Framework 2.0 SP2 или .NET Framework 3.5 SP1, изпълнете следните стъпки:

  1. В контролния панел щракнете двукратно върху Добавяне или премахване на програми.

  2. Намерете Microsoft .NET Framework 3.5 SP1 и след това я деинсталирате.

  3. Намерете Microsoft .NET Framework 3.0 SP2 и след това я деинсталирате.

  4. Намерете Microsoft .NET Framework 2.0 SP2 и след това да го деинсталирате.

  5. Преинсталирайте оригиналната версия на .NET Framework 3.5. Тази стъпка ще преинсталиране на .NET Framework 2.0 SP1 и .NET Framework 3.0 SP1. За да изтеглите .NET Framework 3.5, посетете следния уеб сайт на Microsoft:

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

Метод 3

Обърнете се към доставчика на ODBC драйвера за определяне дали производителят има актуализация на драйвера, за да разрешите този проблем.

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Автор (SME): bruceye
Сценарист: ericzha
Технически редактор: jasonh; cathmill; enamulk;
Редактор: v-rhowar

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×