Symptomer
Når du udfører en forespørgsel for at vælge data fra en Oracle-tilknyttet server ved hjælp af OLE DB-provider i Microsoft SQL Server 2012 eller SQL Server 2014, kan værdierne i kolonnen TALTYPE blive afkortet i forespørgselsresultatet.
Årsag
Dette problem opstår, fordi Oracle NUMBER-typen med ikke-deklareret præcision/skalering muligvis ikke har en klar 1:1-tilknytning til en SQL Server-datatype. Før SQL Server 2012 SP2 CU2 knytter SQL Server disse værdier til strenge for at sikre, at der ikke sker noget tab af præcision. Det kunne dog føre til forkerte resultater, hvis forespørgslen krævede sorteringsrækkefølge for sådanne værdier. I SQL Server 2012 SP2 CU2 ændres tilknytningen til numerisk (38, 0) for at give mulighed for repræsentation af nøgler med stort heltal, som nogle databaseskemaer bruger TAL uden præcision/skalering til. Dette medfører regressioner, når der kræves værdier, der ikke er heltal.
Løsning
Når du har anvendt denne rettelse, behandles TAL-værdier med ukendt præcision/skalering som dobbelte værdier med OLE DB-provider. Hvis nøjagtigheden er vigtig, og området af værdierne ikke er stort nok, kan du aktivere det nye sporingsflag 7314, der vil begynde at behandle disse værdier som numeriske (38, 10).
Problemet blev først løst i følgende kumulative opdatering af SQL Server.
Kumulativ opdatering 1 til SQL Server 2014 SP1 /en-us/help/3067839
Samlet opdatering 8 til SQL Server 2014 /en-us/help/3067836
Samlet opdatering 6 til SQL Server 2012 SP2 /en-us/help/3052468
Om kumulative opdateringer til SQL Server
Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:
- Seneste kumulative opdatering til SQL Server 2014 SP1
- Seneste kumulative opdatering til SQL Server 2014
- Seneste kumulative opdatering til SQL Server 2012 SP2
Løsning
Du kan løse dette problem ved først at konvertere Oracle-feltet fra TALTYPE til en datatype, der understøttes fuldt ud af SQL Server.
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Ansvarsfraskrivelse for tredjepartsoplysninger
De tredjepartsprodukter, der beskrives i denne artikel, er produceret af firmaer, der er uafhængige af Microsoft. Microsoft påtager sig intet ansvar, hverken underforstået eller på anden måde, for funktionaliteten eller pålideligheden af disse produkter.