Příznaky
Když použijete dotaz pro výběr dat ze serveru propojeného Oracle pomocí zprostředkovatele OLE DB v Microsoft SQL serveru 2012 nebo SQL serveru 2014, můžou se hodnoty ve sloupci číslo typu zkrátit ve výsledku dotazu.
Příčina
K tomuto problému dochází z toho důvodu, že typ čísla Oracle s nedeklarovanou přesností nebo škálováním nemusí mít mapování pro vymazání 1:1 pro datový typ SQL serveru. Než SQL Server 2012 SP2 CU2, SQL Server mapuje takové hodnoty na řetězce, aby se ujistily, že nedochází ke ztrátě přesnosti. To ale může vést k nesprávným výsledkům, pokud dotaz vyžaduje pořadí řazení těchto hodnot. V systému SQL Server 2012 SP2 CU2 se mapování změnilo na číslo (38, 0), které umožňuje znázornit velké celé číslo, na které se některá databázová schémata používají bez přesnosti a rozsahu. To vede k regresům, když jsou potřeba Neceločíselné hodnoty.
Řešení
Po použití této opravy budou číselné hodnoty s neznámým stupněm přesnosti a měřítka považovány za dvojitou hodnotu se zprostředkovatelem OLE DB. Pokud je přesnost důležitá a rozsah hodnot není dostatečně velký, můžete povolit nový příznak trasování 7314, který by začal takové hodnoty, jako je číslo (38, 10).
Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.
Kumulativní aktualizace 1 pro SQL Server 2014 SP1 /en-us/help/3067839
Kumulativní aktualizace 8 pro SQL Server 2014 /en-us/help/3067836
Kumulativní aktualizace 6 pro SQL Server 2012 SP2 /en-us/help/3052468
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:
Alternativní řešení
Tento problém vyřešíte tak, že pole Oracle převedete z typu číslo na datový typ, který je systémem SQL Server plně podporovaný.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Produkty třetích stran, o nichž se hovoří v tomto článku, jsou vyráběny společnostmi nezávislými na společnosti Microsoft. Společnost Microsoft neposkytuje žádnou záruku (implicitně předpokládanou ani jinou) týkající se výkonu a spolehlivosti těchto produktů.