Kokkuvõte
Selles artiklis kirjeldatakse selle käigultparanduse versiooni kohta järgmist:
-
Kiirparanduspakett lahendatavad probleemid
-
Kiirparanduspaketi installimise eeltingimused
-
Kas tuleb arvuti taaskäivitada pärast kiirparanduse paketi installimist
-
Kas selle kiirparanduspaketi asendab käigultparanduste pakett
-
Kas te peate tegema registris muudatusi
-
Kiirparanduspaketis sisalduvad failid
Sümptomid
Kujutage ette järgmist stsenaariumi. Rakendus kasutab Microsoft ADO.NET Entity Framework, mis on kaasatud Microsoft .NET Framework 3.5 hoolduspaketi 1 andmebaasi Microsoft SQL Server Compact 3.5 juurdepääsuks. Rakenduse päringut "LINQ üksustele" päringustringi parameetri või binaarne parameeter andmebaasist. Selle stsenaariumi puhul kuvatakse rakenduse käivitamisel kuvatakse järgmine tõrketeade:
Andmetüübid pildiveergude ja pilti ei saa kasutada, võttes, rühma poolt, ON õi klauslid, need andmetüübid kasutamisel koos jms, välja arvatud kui NULL predicates.
Põhjus
Rakenduse "LINQ üksustele" päringu parameetrid kasutamisel ei saa määrata põhiline andmebaasi tüübid. SQL Server Compact Entity Framework pakkuja püüab luua pakkuja tasemel parameeter põhineb algse parameeter olemi andmete mudeli (EDM) omadustega. SQL Server Compact ei toeta andmetüüpi nvarchar(max) või varbinary(max) andmetüüp. Seega, kui pakkuja valib andmetüüp parameeter Edm.String andmetüüp või Edm.Binary andmetüüp, pakkuja on parameetri mitteloetuks põhineb EDM omadustega parameetri andmeid järgmisi:
-
Päringustringi parameetri, pakkuja valib nvarchar(4000) andmetüüp või pildiveergude andmetüüp.
-
Binaarne parameetri pakkuja valimine või varbinary(4000) andmetüüpi andmetüüp pilt .
Kui pakkuja märgib parameetrit nvarchar(4000) andmetüüp või varbinary(4000) andmetüüp, ilmneb tõrge, kui proovite lisada väärtusi, mis on suurem kui 8000 baiti. Kui pakkuja märgib parameetrit pildiveergude andmetüüp või pildi andmetüüp, ilmneb tõrge lisaks mis tahes võrdne toimingud, rühmitamine tegevus või sortimise toimingud on tõlgitud parameetrit.
Lahendus
Kiirparanduse teave
Toetatud käiguparandus on saadaval Microsoftilt. See kiirparandus on ette nähtud üksnes käesolevas artiklis kirjeldatud probleemi lahendamiseks. Kasutage seda kiirparandust ainult selles artiklis kirjeldatud probleemiga süsteemide. Seda kiirparandust võidakse täiendavalt testida. Seega, kui probleem teid tõsiselt ei kahjusta, soovitame oodata järgmist tarkvaravärskendust, mis sisaldab seda kiirparandust.
Kui kiirparandus on allalaadimiseks saadaval, on selle teabebaasi artikli alguses "Kiirparandus on allalaadimiseks saadaval" sektsiooni. Kui seda jaotist ei ole, kontakteeruge vastava kiirparanduse hankimiseks Microsofti klienditeeninduse ja toega. Märkus. Kui ilmneb veel probleeme või kui on tarvis teha tõrkeotsing, peate looma eraldi tugiteenuse taotluse. Tavapärane tugiteenuse tasu kehtib täiendavatele tugiteenustega seotud küsimustele ning probleemidele, mis pole lahendatavad konkreetse kiirparandusega. Täieliku loetelu Microsofti klienditeeninduse ja -toe telefoninumbrite või eraldi tugiteenuse taotluse loomiseks külastage järgmist Microsofti veebisaiti:http://support.microsoft.com/contactus/?ws=supportMärkus. "Käigultparandus saadaval" vormil kuvatakse keeled, mille jaoks kiirparandus on saadaval. Kui te ei näe oma keelt, ei ole kiirparandus selles keeles saadaval.
Eeltingimused
Selle kiirparanduse rakendamiseks peate desinstallima on eelnevalt installitud SQL Server Compact 3.5 Service Pack 1 selle käigultparanduse installida msi-faili, mis on ette nähtud. Kui desinstallite selle eelnevalt installitud SQL Server Compact 3.5 Service Pack 1, saate installimisel tõrketeate, mis ütleb, et SQL Server Compact uuem versioon on juba installitud. SQL Server Compact 3.5 Service Pack 1 kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:
955965 SQL Server Compact 3.5 Service Pack 1 kirjeldus
Taaskäivitusteave
Te ei pea pärast selle kiirparanduse rakendamist arvutit taaskäivitama.
Registri teave
Teil pole registrit muutma.
Kiirparanduse failiteave
See kiirparandus sisaldab ainult neid faile, mida on vaja käesolevas artiklis loetletud probleemide lahendamiseks. See kiirparandus ei pruugi sisaldada kõiki faile, mida teil on vaja toote täielikuks värskendamiseks uusimale järgule.
Sellel kiirparanduse ingliskeelsel versioonil on failiatribuudid (või hilisemad failiatribuudid), mis on loetletud järgmises tabelis. Kuupäevad ja kellaajad need failid jaoks on loetletud maailmaaja järgi (UTC). Faili teabe vaatamisel teisendatakse see kohalikule ajale. UTC ja kohaliku aja erinevuste väljaselgitamiseks kasutage juhtpaneeli üksuses kuupäev ja kellaaeg vahekaarti ajavöönd .
Faili nimi |
Faili versioon |
Faili maht |
Kuupäev |
Aeg |
Platvorm |
---|---|---|---|---|---|
System.data.sqlserverce.entity.dll |
3.5.5692.1 |
230,480 |
24-Sep-2008 |
06:46 |
x86/x64/IA-64 |
System.data.sqlserverce.dll |
3.5.5692.1 |
271,440 |
24-Sep-2008 |
06:46 |
x86/x64 |
Policy.3.5.system.data.sqlserverce.dll |
3.5.5692.1 |
13,392 |
24-Sep-2008 |
06:46 |
x86/x64 |
Policy.3.5.system.data.sqlserverce.entity.dll |
3.5.5692.1 |
13,392 |
24-Sep-2008 |
06:46 |
x86/x64 |
Sqlceca35.dll |
3.5.5692.1 |
343,104 |
24-Sep-2008 |
08:07 |
x86 |
Sqlcecompact35.dll |
3.5.5692.1 |
84,544 |
24-Sep-2008 |
08:07 |
x86 |
Sqlceer35en.dll |
3.5.5692.1 |
148,032 |
24-Sep-2008 |
08:07 |
x86 |
Sqlceme35.dll |
3.5.5692.1 |
65,088 |
24-Sep-2008 |
08:07 |
x86 |
Sqlceoledb35.dll |
3.5.5692.1 |
172,608 |
24-Sep-2008 |
08:07 |
x86 |
Sqlceqp35.dll |
3.5.5692.1 |
644,160 |
24-Sep-2008 |
08:07 |
x86 |
Sqlcese35.dll |
3.5.5692.1 |
348,224 |
24-Sep-2008 |
08:07 |
x86 |
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.
Lisateabe saamiseks
Pärast selle kiirparanduse rakendamist ei pakkuja arvata EDM parameetri andmetüüp. String andmetüüp või EDM. Binaarne andmetüüp. Päringu protsessori valib parameetri väärtus või veeru võrdsustas parameetrit või parameetrit kasutatakse õige andmetüüp.
Näiteks järgmine üksus SQL päring päringu protsessori valib pildiveergude andmetüüp parameeter nimi enne selle käigultparanduse.String name = "XYZ";var q = from e in nwind.Employees
where e.First_Name = name select e;
Pärast selle kiirparanduse rakendamist First_Name veeru Andmetüüp on valitud parameeter nimi .
Siiski järgmises näites "LINQ üksus" päring ebaõnnestub sest parameeter nimi ei ole võrdsustada ega kasutada mis tahes väärtus või veerus.String name = "XYZ";var q = from e in nwind.Employees
select name;
See kiirparandus lahendab ka SQL Server Compact 3.5 readme dokumendis kirjeldatud teadaolev probleem. Lisateabe saamiseks lugege jaotist "SQL Server Compact 3.5 hoolduspaketi SP1 käitusaja probleemid for the ADO.NET Entity Framework" järgmist Microsofti veebisaiti:
http://download.microsoft.com/download/2/e/c/2ec70436-aef2-4ccb-93a3-ea2f3e20f77d/ReadmeSSC35.htmSee kiirparandus lahendab probleemi, mis on seotud vale Transact-SQL-i aruanded, kui pakkuja muudab jätkuvalt teadlik alampäringud konstrueerib rakendamiseks loodud. Märkus. Seotud alampäringud teisendatakse jätkuvalt teadlik alampäringud sisemiselt. Seotud alampäringud ei toetata selles versioonis. Nende päringute käivitamisel kuvatakse järgmine tõrketeade:
Definitsiooni käsu käivitamisel ilmnes tõrge. Vaadake inner exception üksikasjad.
Sisemine erand sisaldab järgmise teate:
Päringu sõelumisel ilmnes tõrge ilmnes. [.., Loa error = AS]
Põhjuseks on see, et ADO.NET Entity Framework tõlgendab sisendi päringu päring, mis on risti rakendamist liitumise tüüp või väline rakendamist liitumise tüüp. Kui paremal pool liitumise tingimus annab jätkuvalt teadlik väärtuse, teisendatakse jätkuvalt teadlik alampäring liituda. ADO.NET Entity Framework pakkuja jaoks SQL Server Compact on samaväärne päringu, mis sisaldab väline rakendamist liitumise tüüp, mis toetab SQL Server Compact et jätkuvalt teadlik alampäring teisendamiseks. Kuid selles versioonis see teisendamine ei tehta õigesti. Näiteks ilmneb tõrge järgmise päringu selles versioonis.
C# Sample Application:using (NorthwindEntities nwEntities = new NorthwindEntities())
{ var orders = nwEntities.Employees .Select(employee => employee.Orders.Max(order => order.Order_ID)); foreach (var order in orders) { Console.WriteLine(order.ToString()); } }
SQL serveri värskenduste nimetamise kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:
822499 uus failinimede skeem Microsoft SQL serveri tarkvaravärskenduspakettide Tarkvaravärskenduste terminoloogia kohta lisateabe saamiseks avage Microsofti teabebaasi (Knowledge Base) artikkel, klõpsates järgmist artiklinumbrit:
824684 Microsofti tarkvaravärskenduste iseloomustamiseks kasutatavate standardterminite kirjeldus