Simptomai
Kai vykdote užklausą, kad pasirinktumėte duomenis iš "Oracle" susietojo serverio naudodami OLE DB teikėją "Microsoft SQL Server" 2012 arba "SQL Server 2014", stulpelyje numerio tipas esančios reikšmės gali būti nukirstos užklausos rezultate.
Priežastis
Ši problema kyla dėl to, kad "Oracle" numerio tipas su ne deklaruotu tikslumu/mastu gali turėti aiškų 1:1 susiejimą su SQL serverio duomenų tipu. Prieš "SQL Server 2012" SP2 CU2, "SQL Server" susieja tokias reikšmes į eilutes, kad įsitikintumėte, jog nėra tikslumo nuostolių. Tačiau tai gali lemti neteisingus rezultatus, jei užklausoje reikia rūšiavimo tvarkos tokiose reikšmėse. "SQL Server 2012" SP2 CU2 susiejimas pakeičiamas į skaitinius (38, 0), kad būtų galima pavaizduoti didelius sveikojo skaičiaus raktus, kurių kai kurios duomenų bazės schemos naudoja skaičių be tikslumo/mastelio. Tai sukelia regresas, kai reikia ne sveikųjų reikšmių.
Sprendimas
Pritaikius šią pataisą, skaičių reikšmės su nežinomu tikslumu/Mastelis traktuojamos kaip dvigubos reikšmės su OLE DB tiekėju. Jei tikslumas svarbus ir reikšmių sritis nėra pakankamai didelė, galite įgalinti naują sekimo vėliavėlę 7314, kuri pradės tokias reikšmes kaip skaitines (38, 10).
Problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kaupiamasis naujinimas 1 SQL serverio 2014 SP1 /en-us/help/3067839
Kaupiamasis naujinimas 8 SQL serverio 2014 /en-us/help/3067836
Kaupiamasis naujinimas 6 SQL serverio 2012 SP2 /en-us/help/3052468
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Sprendimas
Norėdami išspręsti šią problemą, konvertuokite "Oracle" lauką iš skaičių tipo į duomenų tipą, kurį visiškai palaiko "SQL Server".
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.
Trečiųjų šalių produktus, aprašytus šiame straipsnyje, gamina bendrovei „Microsoft“ nepriklausančios įmonės. „Microsoft“ neteikia jokių numanomų ar kitokių garantijų dėl šių produktų veikimo ar patikimumo.