Microsoft distribuerar Microsoft SQL Server 2005, Microsoft SQL Server 2008 och Microsoft SQL Server 2008 R2 korrigeringar som en nedladdningsbar fil. Eftersom korrigeringar är kumulativa innehåller varje ny utgåva innehåller alla snabbkorrigeringar och säkerhetskorrigering för alla säkerhetskorrigeringar som ingår i föregående SQL Server 2005, Microsoft SQL Server 2008 eller SQL Server 2008 R2.
Symptom
Föreställ dig följande:
-
Du kör ett Microsoft SQL Server 2005, Microsoft SQL Server 2008 eller SQL Server 2008 R2 Integration Services-paket (SSI-filer) på en dator med någon av följande.NET Framework-installationer:
-
.NET Framework 2.0 Service Pack 2 (SP2)
-
.NET Framework 3.5 servicepack 1 (SP1)
-
-
SSIS-paket använder en ODBC-drivrutin från tredje part som importerar teckendata.
När du kör SSIS-paket får du följande felmeddelanden:
[ADO NET källa [1424]] Fel: SSIS felkod DTS_E_INDUCEDTRANSFORMFAILUREONERROR. "Komponent"ADO NET källa"(1424)" misslyckades eftersom felkoden 0x80131937 inträffade och fel rad disposition på "utdatakolumnen"columnname"(tal)" anger fel på fel. Ett fel uppstod på det angivna objektet av den angivna komponenten. Det kan finnas felmeddelanden som skickats före detta med mer information om felet.
Fel 0xc0209029: Data flödar aktivitet: "Komponent"Komponentnamn"(1)" misslyckades eftersom felkoden 0x80131937 uppstod... [ADO NET källa [1424]] Fel: Komponent "ADO NET källa" (1424) gick inte att bearbeta data. Försäljningsförloppskomponenten returnerade felkoden HRESULT 0xC0209029 från ett metodanrop. [SSIS. Rörledning]-Fel: SSIS-felkod DTS_E_PRIMEOUTPUTFAILED. Metoden PrimeOutput komponent "ADO NET källa" (1424) returnerade felkoden 0xC02090F5. Komponenten returneras en felkod när motorn pipeline kallas PrimeOutput(). Felkod enligt definieras av komponenten, men felet är allvarligt och rörledningen slutat köra. Det kan finnas felmeddelanden som skickats före detta med mer information om felet.Det här problemet påverkar ODBC-drivrutiner som är tillgängliga från den hanterade providern för ODBC när följande villkor är uppfyllda:
-
ExecuteReader -funktionen anropas med parametern CommandBehavior.SequentialAccess går det . Det här samtalet och parametern används under följande omständigheter:
-
När ett SQL Server 2005 SSIS-paket läser data från en källa DataReader eller en SQL Server 2008 SSIS-paket som läser data från en hanterad ADO.NET-datakälla.
-
Datakällan har inte konfigurerats för att dirigera om värdet fel och trunkering.
-
-
Funktionen OdbcDataReader.IsDbNull anropas. SSIS-paket använder den här metoden för att avgöra om värdet i ett fält är NULL eller inte.
-
En av följande funktioner anropas:
-
Funktionen OdbcDataReader.GetBytes anropas för att få vissa datatyper, t ex DT_BYTES, från den hanterade providern för ODBC.
-
Funktionen OdbcDataReader.GetChars anropas för att få vissa datatyper för sträng, till exempel DT_WSTR, från den hanterade providern för ODBC.
-
Orsak
.NET Framework 2.0 SP2 och.NET Framework 3.5 SP1 införa en ändring i hanterade provider för ODBC-strängar som läses från inbyggd drivrutin i det scenario som beskrivs i avsnittet "Symptom". På grund av denna ändring används hanterade providern för ODBC som kallas i native ODBC-drivrutinen med hjälp av API-funktionen SQLGetData en buffert med storleken 0. Kompatibla ODBC-drivrutiner har inte problem med det här samtalet. Kompatibla ODBC-drivrutiner kan emellertid misslyckas under dessa omständigheter. För en kompatibel ODBC-drivrutin returnerar SQLGetData API-funktionen SUCCESS_WITH_INFO när en buffert med storleken 0 upptäcks. Anropet returnerar NO_DATA för en icke-kompatibel ODBC-drivrutin.
Lösning
Information om snabbkorrigeringen
En snabbkorrigering är tillgänglig från Microsoft. Den här snabbkorrigeringen är emellertid avsedd att åtgärda det problem som beskrivs i denna artikel. Använd bara den här snabbkorrigeringen för system med just detta problem. Snabbkorrigeringen kan komma att testas igen. Om du inte störs alltför mycket av detta problem rekommenderar vi att du väntar på nästa programuppdatering som innehåller den här snabbkorrigeringen.
Om snabbkorrigeringen är tillgänglig för hämtning finns ett avsnitt för "Snabbkorrigeringen är tillgänglig" överst i den här Knowledge Base-artikeln. Om den sektionen saknas, kontakta Microsofts support för att få tag på hotfixen. Obs! Om det uppstår ytterligare problem eller krävs felsökning, kan du behöva skapa en serviceförfrågan. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte uppfyller kraven för den här snabbkorrigeringen. En fullständig lista över telefonnummer för Microsofts kundtjänst och Support eller skapa en serviceförfrågan finns på följande Microsoft-webbplats:http://support.microsoft.com/contactus/?ws=supportObs! "Snabbkorrigeringen tillgänglig"-formuläret visar de språk som snabbkorrigeringen är tillgänglig. Om ditt språk inte visas beror det på att ingen snabbkorrigering är tillgänglig för språket.
Förutsättningar
Du måste ha installerat.NET Framework 2.0 Service Pack 2.
Information om omstart
Du behöver inte starta om datorn när du har installerat den här snabbkorrigeringen.
Registerinformation
Du behöver inte ändra registret.
Information om snabbkorrigeringen
Snabbkorrigeringen innehåller endast de filer som krävs för att lösa de problem som den här artikeln. Snabbkorrigeringen innehåller kanske inte alla filer som krävs för att fullständigt uppdatera en produkt till den senaste versionen. Den engelska versionen av den här snabbkorrigeringen har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (UTC). När du visar filinformationen konverteras den till lokal tid. Om du vill se skillnaden mellan UTC-tid och lokal tid kan du använda fliken tidszon i datum och tid på Kontrollpanelen.
.NET Framework 2.0 för Windows 2000, Windows Server 2003, Windows XP, 32-bitarsversioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
Plattform |
---|---|---|---|---|---|
System.data.dll |
2.0.50727.4063 |
2,933,760 |
19- |
05:08 |
x86 |
.NET Framework 2.0 för Windows 2000, Windows Server 2003, Windows XP, x64 versioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
Plattform |
---|---|---|---|---|---|
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 för Windows 2000, Windows Server 2003, Windows XP, IA-64-versioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
Plattform |
---|---|---|---|---|---|
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 för Windows Vista, Windows Server 2008, 32-bitarsversioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
---|---|---|---|---|
System.data.dll |
2.0.50727.4400 |
2,933,760 |
10-Sep-2009 |
11:54 |
.NET Framework 2.0 för Windows Vista, Windows Server 2008 x64 versioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
---|---|---|---|---|
System.data.dll |
2.0.50727.4400 |
3,008,512 |
10-Sep-2009 |
11:54 |
.NET Framework 2.0 för Windows Vista, Windows Server 2008 IA-64-versioner
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
---|---|---|---|---|
System.data.dll |
2.0.50727.4400 |
3,234,816 |
10-Sep-2009 |
11:54 |
Temporär lösning
Undvik problemet genom att använda någon av följande metoder.
Metod 1
Redigera SSIS-paket om du vill konfigurera fel och trunkering omdirigering på källan DataReader eller hanterade ADO.NET-datakällan. När du har redigerat SSIS-paket om du vill omdirigera fel till ett mål, kör paketet har även om inga rader skrivs till målet. Gör följande om du vill göra detta.
Obs! Följande åtgärder förutsätter att du använder ett SQL Server 2005 SSIS-paket som läser data från en källa DataReader.-
Öppna SSIS-paket i SQL Server Business Intelligence Development Studio.
-
Öppna dialogrutan Avancerad redigerare för DataReader källa i dataflödet designer.
-
Klicka på fliken indata och utdata egenskaper och expandera sedan noden DataReader utdata i trädet in- och utgångar .
-
Expandera noden Utdatakolumner .
-
Klicka på varje kolumn under noden Utdatakolumner och undersöka egenskapen datatyp . För varje kolumn vars datatyp -egenskapen är DT_WSTR, DT_NTEXT, DT_BYTES eller DT_IMAGE, redigera följande två egenskaper:
-
Ange egenskapen ErrorRowDisposition till RD_RedirectRow.
-
Ange egenskapen TruncationRowDisposition till RD_RedirectRow.
-
-
Klicka på OK om du vill spara ändringarna.
-
Lägga till ett nytt mål i DFD-designer. Exempelvis lägga till en platt filmål eller en SQL Server-mål.
-
Använd den röda pilen från DataReader källa för att ansluta till det nya målet. Den här åtgärden kommer direkt rader med fel och trunkering rader till målet för att spara felrader.
-
Upprepa steg 1 till 8 för alla dataflödet aktiviteter access ODBC-sträng- eller kolumnerna och som misslyckas med de felmeddelanden som nämns i avsnittet "Symptom".
Metod 2
Avinstallera.NET Framework 2.0 SP2 eller.NET Framework 3.5 SP1. Vi rekommenderar dock inte att avinstallera ett service pack eftersom detta offrar tillförlitlighet, funktionsförbättringar och optimeringar av prestanda som erbjuder service pack.
Gör så här om du vill återställa datorn till det tillstånd det befann sig i innan du installerade.NET Framework 2.0 SP2 eller.NET Framework 3.5 SP1:-
Dubbelklicka på Lägg till eller ta bort programpå Kontrollpanelen.
-
Leta upp Microsoft.NET Framework 3.5 SP1 och avinstallera den.
-
Leta upp Microsoft.NET Framework 3.0 SP2 och avinstallera den.
-
Leta upp Microsoft.NET Framework 2.0 SP2 och avinstallera den.
-
Installera om den ursprungliga versionen av.NET Framework 3.5. Det här steget installerar SP1 för.NET Framework 2.0 och.NET Framework 3.0 SP1. Du kan hämta.NET Framework 3.5, finns på följande Microsoft-webbplats:
Metod 3
Kontakta leverantören av tredje parts ODBC-drivrutinen om du vill ta reda på om det finns en uppdatering för drivrutinen som löser problemet.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".