Симптоми
Когато изпълнявате заявка за избиране на данни от сървър, свързан с Oracle, с помощта на доставчик на OLE DB в Microsoft SQL Server 2012 или SQL Server 2014, стойностите в колоната тип число могат да бъдат отрязани в резултата от заявката.
Причина
Този проблем възниква, тъй като типът на типа на оракула с необявена точност/скала може да няма ясно съпоставяне на 1:1 със тип данни на SQL Server. Преди SQL Server 2012 SP2 CU2, SQL Server съпоставя такива стойности за низове, за да се уверите, че не се случва загуба на точност. Това обаче може да доведе до неправилни резултати, ако заявката изисква ред за сортиране на тези стойности. В SQL Server 2012 SP2 CU2 нанасянето се променя на числови стойности (38; 0), за да се разреши представянето на големи клавишни комбинации, които някои схеми на база данни използват число без точност/мащаб. Това води до регресия, когато са необходими нецелочислени стойности.
Решение
След като приложите тази корекция, ЧИСЛОВите стойности с неизвестна точност/мащаб се третират като двойни стойности с доставчика на OLE DB. Ако точността е важна и обхватът на стойностите не е достатъчно голям, можете да разрешите новия флаг за проследяване 7314, който ще започне да третира такива стойности като числови (38; 10).
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Кумулативна актуализация 1 за SQL Server 2014 SP1 /en-us/help/3067839
Кумулативна актуализация 8 за SQL Server 2014 /en-us/help/3067836
Кумулативна актуализация 6 за SQL Server 2012 SP2 /en-us/help/3052468
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Заобиколно решение
За да заобиколите този проблем, конвертирайте полето Oracle от тип число в тип данни, който е изцяло поддържан от SQL Server.
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Продуктите на други производители, които се обсъждат в тази статия, са произведени от фирми, независими от Microsoft. Microsoft не дава никакви гаранции – подразбиращи се,или други – за работата или надеждността на тези продукти.