Symptomen
Wanneer u een query uitvoert om gegevens van een via Oracle gekoppelde server te selecteren met behulp van OLE DB-provider in Microsoft SQL Server 2012 of SQL Server 2014, worden de waarden in de kolomtype nummer mogelijk afgekapt in het queryresultaat.
Oorzaak
Dit probleem treedt op omdat het type van het Oracle-nummer met een niet-gedeclareerde precisie/schaal geen duidelijke 1:1-toewijzing heeft voor een SQL Server-gegevenstype. Voordat SQL Server 2012 SP2 CU2, worden deze waarden door SQL Server naar tekenreeksen toegewezen om ervoor te zorgen dat er geen vermindering van de precisie uitvalt. Dit kan echter leiden tot onjuiste resultaten als de sorteervolgorde voor de query op die waarden is vereist. In SQL Server 2012 CU2, wordt de toewijzing gewijzigd in numeric (38, 0), zodat u kunt controleren of het gebruik van grote integerwaarden wordt toegestaan voor een bepaalde databaseschema met een ander nummer dan de precisie en schaal. Dit leidt tot regressie wanneer u niet-geheel waarden nodig hebt.
Oplossing
Wanneer u deze oplossing toepast, worden numerieke waarden met onbekende precisie/schaal behandeld als dubbele waarden met OLE DB-provider. Als de precisie belangrijk is en het bereik van de waarden niet groot genoeg is, kunt u de nieuwe traceringsvlag 7314 inschakelen die de waarden als numeriek wil behandelen (38, 10).
Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Cumulatieve update 1 voor SQL Server 2014 SP1 /en-us/help/3067839
Cumulatieve update 8 voor SQL Server 2014 /en-us/help/3067836
Cumulatieve update 6 voor SQL Server 2012 SP2 /en-us/help/3052468
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Tijdelijke oplossing
U kunt dit probleem omzeilen door het veld Oracle te converteren van het type getal naar een gegevenstype dat volledig wordt ondersteund door SQL Server.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
De niet-Microsoft-producten die in dit artikel worden vermeld, worden vervaardigd door fabrikanten die geheel onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestatie of de betrouwbaarheid van deze producten.