KB969845 – PARANDUS: pärast SQL Server .NET raamistik 2.0 SP2 või .NET raamistik 3.SQL Server 5 SP1 installimist .NET raamistik 2.0 SP2 või .NET raamistik 3.5 SP1 installimisel kuvatakse tõrketeade SQL Server 2008 R2 integration Services (SSIS): "ADO NET Source [1424]"

Rakenduskoht
Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Standard X64 Edition Microsoft SQL Server 2005 Enterprise X64 Edition Microsoft SQL Server 2005 Workgroup Edition SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Workgroup SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

Microsoft levitab Microsoft SQL Server 2005, Microsoft SQL Server 2008 ja Microsoft SQL Server 2008 R2 parandusi ühe allalaaditava failina. Kuna parandused on kumulatiivsed, sisaldab iga uus väljaanne kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmises SQL Server 2005, Microsoft SQL Server 2008 või SQL Server 2008 R2 paranduse väljaandes.

Sümptomid

Vaatame järgmist näidet.

  • Käivitate Microsoft SQL Server 2005, Microsoft SQL Server 2008 või SQL Server 2008 R2 integreerimisteenuste paketi (SSIS) arvutis, kus on üks järgmistest .NET raamistik installidest:

    • .NET raamistik 2.0 hoolduspakett Service Pack 2 (SP2)
    • .NET raamistik 3.5 hoolduspakett Service Pack 1 (SP1)
  • SSIS-pakett kasutab muu tootja ODBC-draiverit, mis impordib märgiandmed.

Kui aga käivitate SSIS-paketi, kuvatakse järgmised tõrketeated:

Märkus.

[ADO NET Source [1424]] Tõrge: SSIS-i tõrkekoodi DTS_E_INDUCEDTRANSFORMFAILUREONERROR. "Komponent "ADO NET Source" (1424)" nurjus, kuna ilmnes tõrkekood 0x80131937 ja tõrkerea likvideerimisel "output columnname" (Number) määrab tõrke tõrke. Määratud komponendi määratud objektil ilmnes tõrge. Enne seda võidakse tõrke kohta lisateabega postitatud tõrketeateid.

Tõrge 0xc0209029: Andmevoo tööülesanne: komponent "ComponentName" (1)" nurjus, kuna ilmnes tõrkekood 0x80131937...

[ADO NET Source [1424]] Tõrge. Komponent "ADO NET Source" (1424) ei saanud andmeid töödelda. Konveierikomponent tagastas meetodikutsest HRESULT-i tõrkekoodi 0xC0209029.

[SSIS. Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. Komponendi ADO NET Source (1424) meetod PrimeOutput tagastas tõrkekoodi 0xC02090F5. Komponent tagastas tõrkekoodi, kui konveierimootor PrimeOutput(). Tõrkekoodi tähenduse määratleb komponent, kuid tõrge on pöördumatu ja konveier lõpetas käivitamise. Enne seda võidakse tõrke kohta lisateabega postitatud tõrketeateid.

See probleem mõjutab ODBC-draivereid, millele hallatava ODBC pakkuja juurde pääsevad, kui täidetud on järgmised tingimused:

  • Funktsiooni ExecuteReader kutsub parameeter CommandBehavior.SequentialAccess. Seda kutset ja parameetrit kasutatakse järgmistel juhtudel.

    • Kui SQL Server 2005 SSIS pakett loeb andmeid DataReaderi allikast või kui SQL Server 2008 SSIS pakett loeb andmeid hallatavast ADO.NET andmeallikast.
    • Andmeallikas pole konfigureeritud tõrke- ja kärpimisväärtusi ümber suunama.
  • Kutsutakse funktsioon OdbcDataReader.IsDbNull. SSIS-pakett kasutab seda meetodit, et teha kindlaks, kas välja väärtus on nullväärtusega või mitte.

  • Nimetatakse ühte järgmistest funktsioonidest.

    • Funktsiooni OdbcDataReader.GetBytes kutsutakse hankima hallatavast ODBC-pakkujast teatud andmetüüpe (nt DT_BYTES).
    • Funktsiooni OdbcDataReader.GetChars kutsutakse hankima hallatavast ODBC-pakkujast teatud stringi andmetüüpe (nt DT_WSTR).

Põhjus

.NET raamistik 2.0 SP2 ja .NET raamistik 3.5 SP1 muudavad hallatavat ODBC-pakkujat, mille abil loetakse stringe kohalikust ODBC-draiverist stsenaariumis, mida kirjeldatakse jaotises "Sümptomid". Selle muutuse tõttu kasutab ODBC-draiveris funktsiooni SQLGetData API abil kutsutud hallatav ODBC-pakkuja puhvrit suurusega 0. Ühilduvatel ODBC-draiveritel pole selles kõnes probleeme. Nendel asjaoludel võivad siiski nurjuda mitteühilduvad ODBC draiverid. Ühilduva ODBC-draiveri korral tagastab funktsioon SQLGetData API SUCCESS_WITH_INFO, kui tuvastatakse suuruse 0 puhver. Mittevõrdse ODBC-draiveri korral tagastab kutse NO_DATA.

Lahendus

Kiirparanduse teave

Microsoftilt on saadaval toetatud kiirparandus. Kuid see kiirparandus on ette nähtud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Rakendage see kiirparandus ainult süsteemidele, kus esineb see konkreetne probleem. See kiirparandus võib saada täiendavat testimist. Seega, kui see probleem ei mõjuta teid tõsiselt, soovitame oodata järgmist tarkvaravärskendust, mis sisaldab seda kiirparandust.

Kui kiirparandus on allalaadimiseks saadaval, on selle teabebaasi artikli ülaosas jaotis "Kiirparanduse allalaadimine saadaval". Kui seda jaotist ei kuvata, võtke kiirparanduse hankimiseks ühendust Microsofti klienditeeninduse ja -toega.

Märkus. Kui ilmnevad täiendavad probleemid või kui on vaja teha tõrkeotsingut, peate võib-olla looma eraldi hooldustaotluse. Tavalised tugiteenusega seotud kulud rakenduvad täiendavatele toega seotud küsimustele ja probleemidele, mis ei vasta sellele konkreetsele kiirparandusele. Microsofti klienditeeninduse ja -toe telefoninumbrite täieliku loendi või eraldi teenusetaotluse loomiseks külastage järgmist Microsofti veebisaiti:

http://support.microsoft.com/contactus/?ws=support Märkus Vorm "Kiirparanduse allalaadimine on saadaval" kuvab keeled, mille kiirparandus on saadaval. Kui te ei näe oma keelt, see on sellepärast, et kiirparandus ei ole saadaval selle keele.

Eeltingimused

Teil peab olema installitud .NET raamistik 2.0 hoolduspakett Service Pack 2.

Uuesti käivitamise teave

Te ei pea pärast selle kiirparanduse rakendamist arvuti taaskäivitama.

Registriteave

Registrit pole vaja muuta.

Kiirparanduse failiteave

See kiirparandus sisaldab ainult neid faile, mis on vajalikud nende probleemide lahendamiseks, mida selles artiklis loetletakse. See kiirparandus ei pruugi sisaldada kõiki faile, mida peate toote täielikuks värskendamiseks uusimale järgule. Selle kiirparanduse ingliskeelne versioon sisaldab faili atribuute (või uuemad failiatribuudid), mis on loetletud järgmises tabelis. Nende failide kuupäevad ja kellaajad on loetletud koordineeritud maailmaaja (UTC) järgi. Failiteabe vaatamisel teisendatakse see kohalikuks kellaajaks. UTC ja kohaliku kellaaja erinevuse leidmiseks kasutage Juhtpaneel üksuse Kuupäev ja kellaaeg vahekaarti Ajavöönd.

.NET raamistik 2.0 Windows 2000, Windows Server 2003, Windows XP, 32-bitise versiooni jaoks

Faili nimi Failiversioon Faili maht Kuupäev Kellaaeg Platvorm
System.data.dll 2.0.50727.4063 2,933,760 19- 05:08 x86

.NET raamistik 2.0 Windows 2000, Windows Server 2003, Windows XP, x64 versioonide jaoks

Faili nimi Failiversioon Faili maht Kuupäev Kellaaeg Platvorm
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 raamistik 2.0 Windows 2000, Windows Server 2003, Windows XP, IA-64 versioonide jaoks

Faili nimi Failiversioon Faili maht Kuupäev Kellaaeg Platvorm
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 raamistik 2.0 Windows Vista, Windows Server 2008, 32-bitise versiooni jaoks

Faili nimi Failiversioon Faili maht Kuupäev Kellaaeg
System.data.dll 2.0.50727.4400 2,933,760 10. sept 2009 11:54

.NET raamistik 2.0 Windows Vista, Windows Server 2008, x64 versioonide jaoks

Faili nimi Failiversioon Faili maht Kuupäev Kellaaeg
System.data.dll 2.0.50727.4400 3,008,512 10. sept 2009 11:54

.NET raamistik 2.0 Windows Vista, Windows Server 2008, IA-64 versioonide jaoks

Faili nimi Failiversioon Faili maht Kuupäev Kellaaeg
System.data.dll 2.0.50727.4400 3,234,816 10. sept 2009 11:54

Ajutine lahendus

Probleemi lahendamiseks kasutage ühte järgmistest meetoditest.

1. meetod

Redigeerige SSIS-paketti, et konfigureerida tõrke ja kärpimise ümbersuunamine andmeallikas DataReader või hallatavas ADO.NET andmeallikas. Pärast seda, kui redigeerite SSIS-paketti tõrkeväljundi sihtkoha ümbersuunamiseks, töötab pakett edukalt, kuigi ühtegi rida pole sihtkohta kirjutatud. Selleks tehke järgmist.

Märkus. Järgmistes juhistes eeldatakse, et kasutate SQL Server 2005 SSIS-paketti, mis loeb andmeid andmeallikast DataReader.

  1. Avage SSIS-pakett SQL Server Business Intelligence Development Studios.

  2. Avage andmevoo kujundajas dialoogiboksi DataReader Source (Andmereaderi allikas) Täpsem redaktor.

  3. Klõpsake vahekaarti Sisendi ja väljundi atribuudid ja laiendage siis puus Sisendid ja väljundid sõlme DataReader Output.

  4. Laiendage sõlme Väljundveerud .

  5. Klõpsake igat sõlme Väljundveerud all olevat veergu ja uurige siis atribuuti DataType. Redigeerige iga veeru puhul, mille atribuut DataType on DT_WSTR (DT_NTEXT, DT_BYTES või DT_IMAGE) järgmist kahte atribuuti.

    • Seadke atribuudi ErrorRowDisposition väärtuseks RD_RedirectRow.
    • Seadke atribuudi TruncationRowDisposition väärtuseks RD_RedirectRow.
  6. Muudatuste salvestamiseks klõpsake nuppu OK.

  7. Lisage andmevoo kujundajas uus sihtkoht. Näiteks saate lisada lamefaili sihtkoha või SQL Server sihtkoha.

  8. Kasutage andmeallika DataReader punast noolt, et ühendada see äsja lisatud sihtkohaga. Selle toiminguga suunatakse vearead ja kärpimisread tõrkeridade salvestamiseks sihtkohta.

  9. Korrake juhiseid 1–8 kõigi andmevoo ülesannete puhul, mis pöörduvad ODBC-stringi või pildiveergude poole ja mis nurjuvad jaotises "Sümptomid" mainitud tõrketeadetega.

2. meetod

Desinstallige .NET raamistik 2.0 SP2 või .NET raamistik 3.5 SP1. Siiski ei soovita me hoolduspaketti desinstallida, kuna see ohverdab hoolduspaketi pakutavate töökindluse, funktsioonide täiustuste ja jõudluse optimeerimise.

Süsteemi taastamiseks olekusse, milles see oli enne .NET raamistik 2.0 SP2 või .NET raamistik 3.5 SP1 installimist, tehke järgmist.

  1. Topeltklõpsake Juhtpaneel käsku Programmide lisamine või eemaldamine.

  2. Otsige üles Microsoft .NET raamistik 3.5 SP1 ja seejärel desinstallige see.

  3. Otsige üles Microsoft .NET raamistik 3.0 SP2 ja seejärel desinstallige see.

  4. Otsige üles Microsoft .NET raamistik 2.0 SP2 ja seejärel desinstallige see.

  5. Installige uuesti .NET raamistik 3.5 algne väljaanne. Selle toiminguga installitakse uuesti .NET raamistik 2.0 SP1 ja .NET raamistik 3.0 SP1. .NET raamistik 3.5 hankimiseks külastage järgmist Microsofti veebisaiti:
    http://www.microsoft.com/download/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

3. meetod

Pöörduge kolmanda osapoole ODBC-draiveri tarnija poole, et teha kindlaks, kas hankijal on selle probleemi lahendamiseks draiveri jaoks värskendus.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.