Simptomi
Kada izvršite upit da biste izabrali podatke sa servera povezanog sa proročicom pomoću OLE DB dobavljača u sistemu Microsoft SQL Server 2012 ili SQL Server 2014, vrednosti u koloni tipa NUMBER mogu biti skraćene u rezultatu upita.
Uzrok
Do ovog problema dolazi zato što tip Oracle NUMBER sa neproglašenom preciznošću/skalom možda nema jasno mapiranje 1:1 u SQL Server tipu podataka. Pre SQL Server 2012 SP2 CU2, SQL Server mapira takve vrednosti u niske da bi se uverio da se ne dešava gubitak preciznosti. Međutim, to može dovesti do netačnih rezultata ako je upit zahtevao redosled sortiranja za takve vrednosti. U programu SQL Server 2012 SP2 CU2, mapiranje se menja u numeričko (38, 0) da bi se omogućilo predstavljanje velikih ceo broj ključeva za koje neke šeme baze podataka koriste NUMBER bez preciznosti/razmere. To dovodi do nazadovanja kada su potrebne vrednosti koje nisu ceo broj.
Rešenje
Kada primenite ovu ispravku, VREDNOSTI NUMBER-a sa nepoznatom preciznošću/razmerom tretiraju se kao dvostruke vrednosti kod OLE DB dobavljača usluga. Ako je preciznost važna, a opseg vrednosti nije dovoljno velik, možete da omogućite novu zastavicu za praćenje 7314 koja bi počela da tretira vrednosti kao numeričke (38, 10).
Problem je prvi put otklonjen u sledećoj kumulativnoj ispravki sistema SQL Server.
Kumulativna ispravka 1 za SQL Server 2014 SP1 /en-us/help/3067839
Kumulativna ispravka 8 za SQL Server 2014 /en-us/help/3067836
Kumulativna ispravka 6 za SQL Server 2012 SP2 /en-us/help/3052468
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Rešenje
Da biste zaobišli ovaj problem, prvo konvertujte polje Oracle iz tipa NUMBER u tip podataka koji sql Server prvo u potpunosti podržava.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Proizvode nezavisnih proizvođača o kojima se govori u ovom članku proizvela su preduzeća koja su nezavisna od korporacije Microsoft. Microsoft ne daje nikakvu garanciju, impliciranu ni neku drugu, u pogledu performansi ili pouzdanosti ovih proizvoda.