Sintomas
Quando você executa uma consulta para selecionar dados de um servidor vinculado ao Oracle usando o provedor OLE DB no Microsoft SQL Server 2012 ou o SQL Server 2014, os valores na coluna tipo de número podem ser truncados no resultado da consulta.
Causa
Esse problema ocorre porque o tipo de número Oracle com precisão/escala não-declarado pode não ter um mapeamento claro de 1:1 para um tipo de dados do SQL Server. Antes do SQL Server 2012 SP2 CU2, o SQL Server mapeia esses valores para cadeias de caracteres para garantir que não ocorra perda de precisão. No entanto, isso pode levar a resultados incorretos se a consulta exigir ordem de classificação nesses valores. No SQL Server 2012 SP2 CU2, o mapeamento é alterado para numeric (38, 0) para permitir a representação de chaves inteiras grandes, que alguns esquemas de banco de dados usam número sem precisão/escala para. Isso leva a regressões quando valores não inteiros são necessários.
Resolução
Depois de aplicar essa correção, os valores NUMÉRICOs com precisão/escala desconhecido são tratados como valores duplos com o provedor OLE DB. Se a precisão for importante e o intervalo dos valores não for grande o suficiente, você pode habilitar o novo sinalizador de rastreamento 7314 que começará a tratar tais valores como numéricos (38, 10).
O problema foi corrigido primeiro na atualização cumulativa a seguir do SQL Server.
Atualização cumulativa 1 para SQL Server 2014 SP1 /en-us/help/3067839
Atualização cumulativa 8 para SQL Server 2014 /en-us/help/3067836
Atualização cumulativa 6 para SQL Server 2012 SP2 /en-us/help/3052468
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Solução alternativa
Para contornar esse problema, converta o campo da Oracle do tipo de número para um tipo de dados totalmente compatível com o SQL Server primeiro.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.