Gäller för
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)

Symptom

När du kör en fråga för att välja data från en Oracle-länkad server med OLE DB-Provider i Microsoft SQL Server 2012 eller SQL Server 2014 kan värdena i kolumnen SIFFER typ trunkeras i frågeresultatet.

Orsak

Det här problemet beror på att Oracle-nummer typen med icke-deklarerad precision/skala kanske inte har en klar 1:1-mappning till en SQL Server-datatyp. Innan SQL Server 2012 SP2 CU2 mappas sådana värden till strängar för att se till att precisionen inte försvinner. Men det kan leda till felaktiga resultat om frågan kräver sorterings ordning för sådana värden. I SQL Server 2012 SP2 CU2 ändras mappningen till numeriskt (38, 0) för att tillåta åter givning av stora heltals nycklar som vissa databas scheman använder tal utan precision/skala. Detta leder till regressioner när det behövs icke-heltals värden.

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:

Lösning

Undvik det här problemet genom att konvertera fältet Oracle från NUMBER Type till en datatyp som stöds helt och hållet av SQL Server.

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

De produkter från andra tillverkare som diskuteras i denna artikel tillverkas oberoende av Microsoft. Produkternas funktion eller tillförlitlighet kan därför inte garanteras.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.