Attiecas uz
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Simptomi

Kad veicat vaicājumu, lai atlasītu datus no Oracle saistītā servera, izmantojot OLE DB nodrošinātāju programmā Microsoft SQL Server 2012 vai SQL Server 2014, kolonnas NUMBER Type vērtības var tikt saīsinātas vaicājuma rezultātā.

Cēlonis

Šī problēma rodas tāpēc, ka Oracle numura tips ar nedeklarētu precizitāti/skalu, iespējams, nav skaidri 1:1 kartējums ar SQL Server datu tipu. Pirms SQL Server 2012 SP2 CU2, SQL Server kartē šādas vērtības uz virknēm, lai pārliecinātos, vai netiek veikts precizitātes zudums. Taču tas var izraisīt nepareizus rezultātus, ja vaicājums pieprasīja kārtošanas secību šīm vērtībām. Programmā SQL Server 2012 SP2 CU2 kartējums tiek mainīts uz skaitlisks (38,0), lai būtu iespējama lielu veselu skaitļu atslēgu pārstāvība, kas dažās datu bāzu shēmās izmanto numuru bez precizitātes/mēroga. Tas rada regresijas, ja ir nepieciešamas vērtības, kas nav vesels skaitlis.

Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:

Risinājums

Lai novērstu šo problēmu, konvertējiet Oracle lauku no numura tipa uz datu tipu, ko vispirms atbalsta SQL Server.

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Šajā rakstā minētos trešo pušu produktus ražo no Microsoft neatkarīgi uzņēmumi. Microsoft nesniedz nekādas netiešas vai cita veida garantijas par šo produktu veiktspēju vai uzticamību.

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.