Simptome
Atunci când executați o interogare pentru a selecta date de pe un server legat de Oracle, utilizând OLE DB Provider în Microsoft SQL Server 2012 sau SQL Server 2014, valorile din coloana tip număr pot fi trunchiate în rezultatul interogării.
Cauză
Această problemă apare deoarece, tipul de număr Oracle cu precizie/scară nedeclarată poate să nu aibă o mapare 1:1 clară la un tip de date SQL Server. Înainte de SQL Server 2012 SP2 CU2, SQL Server mapează astfel de valori la șiruri, pentru a vă asigura că nu se întâmplă nicio pierdere de precizie. Cu toate acestea, aceasta poate duce la rezultate incorecte dacă interogarea a cerut ordinea de sortare a acestor valori. În SQL Server 2012 SP2 CU2, maparea este schimbată la numeric (38, 0) pentru a permite reprezentarea cheilor întregi mari pe care unele scheme de baze de date le utilizează număr fără precizie/scalare pentru. Acest lucru conduce la regresie atunci când sunt necesare valori non-întreg.
Rezolvare
După ce aplicați această remediere, valorile NUMERICe cu precizie/scală necunoscute sunt tratate ca valori duble cu furnizorul OLE DB. Dacă precizia este importantă și zona de valori nu este suficient de mare, puteți să activați noua semnalizator de urmărire 7314 care va începe să trateze valorile ca numerice (38, 10).
Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 1 pentru SQL Server 2014 SP1 /en-us/help/3067839
Actualizarea cumulativă 8 pentru SQL Server 2014 /en-us/help/3067836
Actualizarea cumulativă 6 pentru SQL Server 2012 SP2 /en-us/help/3052468
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Soluție de evitare
Pentru a rezolva această problemă, efectuați conversia câmpului Oracle din tipul de număr la un tip de date care este complet acceptat mai întâi de SQL Server.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Produsele producătorilor terţi prezentate în acest articol sunt fabricate de companii independente de Microsoft. Microsoft nu garantează în niciun fel, implicit sau în alt mod, funcționarea sau fiabilitatea acestor produse.