Simptomi
Kada izvršite upit da biste odabrali podatke iz Oracle-povezanog poslužitelja pomoću OLE DB davatelja usluga u programu Microsoft SQL Server 2012 ili SQL Server 2014, vrijednosti u stupcu Vrsta broja mogu se skratiti u rezultatu upita.
Uzrok
Taj se problem pojavljuje jer, vrsta Oracle broj s nedeklariranom preciznošću/skaliranjem ne može imati jasno 1:1 mapiranje na vrstu podataka sustava SQL Server. Prije nego što SQL Server 2012 SP2 CU2, SQL Server mapira takve vrijednosti u nizove da biste bili sigurni da se neće dogoditi nikakav gubitak točnosti. No to bi moglo dovesti do netočnih rezultata ako je upit obavezan redoslijed sortiranja na takvim vrijednostima. U sustavu SQL Server 2012 SP2 CU2 preslikavanje se mijenja u numerički (38; 0) da bi se omogućila zastupljenost velikih brojčanih ključeva koje neke sheme baze podataka koriste kao broj bez preciznosti/skice za. To dovodi do regresije kada su potrebne vrijednosti koje nisu cjelobrojni.
Rješenje
Kada primijenite ovo rješenje, BROJČANE vrijednosti s nepoznatom preciznošću/razmjerom tretiraju se kao dvostruke vrijednosti uz OLE DB davatelj usluga. Ako je preciznost važna, a raspon vrijednosti nije dovoljno velik, možete omogućiti novu zastavicu za praćenje 7314 koja će početi tretirati takve vrijednosti kao numeričke (38, 10).
Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.
Kumulativno ažuriranje 1 za SQL Server 2014 SP1 /en-us/help/3067839
Kumulativno ažuriranje 8 za SQL Server 2014 /en-us/help/3067836
Kumulativno ažuriranje 6 za SQL Server 2012 SP2 /en-us/help/3052468
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje
Da biste zaobišli taj problem, pretvorite polje Oracle iz vrste broj u vrstu podataka koja je najprije podržan u sustavu SQL Server.
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".
Proizvodi drugih proizvođača koji se spominju u ovom članku proizvedeni su u tvrtkama neovisnima o Microsoftu. Microsoft ne daje ni posredna ni druga jamstva vezana uz performanse ili pouzdanost tih proizvoda.