CORRECÇÃO: Coluna numérica no Oracle causa erro 7354

Traduções deste artigo Traduções deste artigo
ID do artigo: 243027 - Exibir os produtos aos quais esse artigo se aplica.
BUG #: 36489 (SQLBUG_70)
BUG #: 18722 (SQLBUG_70)
BUG #: 47131 (SQLBUG_70)
Expandir tudo | Recolher tudo

Sintomas

Tentando usar um servidor vinculado do Oracle usando o Microsoft OLE DB Provider para Oracle (MSDAORA) que consultas uma tabela com uma coluna numérica pode causar um erro semelhante à seguinte:
Servidor: Mensagem 7354, nível 16, estado 1, linha 1 provedor OLE DB 'MSDAORA' forneceu metadados inválido para a coluna 'columnname'. Não há suporte para o tipo de dados.
A consulta também pode falhar se a coluna numérica não estiver na lista de seleção.

Causa

A coluna com o tipo de dados numérico não tem nenhum tamanho especificado (não precisão, não padrão, permite NULL). O tipo de dados numéricos sem uma precisão e escala é representado no Oracle por um comprimento de variável numérica com a precisão de até 255.

Como Contornar

Para obter mais informações sobre possíveis soluções alternativas, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
221552PROBLEMA: SQL Distributed consulta com erro de coluna NUMERIC Oracle exibe

Situação

A Microsoft confirmou que este é um problema no SQL Server 7.0. Esse problema foi corrigido no EUA Service Pack 2 para o Microsoft SQL Server 7.0. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
254561INF: Como obter o Service Pack 2 para Microsoft SQL Server 7.0 e Microsoft Data Engine (MSDE) 1.0
Para obter mais informações, entre em contato com seu provedor de suporte primário.

Mais Informações

Embora o SQL Server 7.0 Service Pack 2 (SP2) contém uma correção da causa raiz do problema descrito, a instalação do SP2 não instala uma versão atualizada do procedimento sp_columns_ex armazenado de catálogo. Portanto, uma chamada para sp_columns_ex ainda pode retornar o seguinte erro:
Servidor: Mensagem 515, nível 16, estado 2, procedimento sp_columns_ex, 133 de linha
Não é possível inserir o valor NULL na coluna 'DATA_TYPE', tabela 'tempdb.dbo.#tmp_columns_XX'; coluna não permite nulos. INSERT falhar. A instrução foi finalizada.
Para corrigir esse problema, execute o script INSTCAT.SQL do SP2. Consulte tópico "Como a atualização do catálogo procedimentos armazenados" nos manuais online do SQL Server 7.0 para obter instruções sobre como executar esse script.

Um tipo numérico Oracle agora está mapeado para nvarchar (384) se a precisão é muito grande para um numérico tipo do SQL Server.

Propriedades

ID do artigo: 243027 - Última revisão: terça-feira, 14 de março de 2006 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix KB243027 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 243027

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com