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

Traduções de Artigos Traduções de Artigos
Artigo: 243027 - Ver produtos para os quais este artigo se aplica.
N.º DE BUGS: 36489 (SQLBUG_70)
N.º DE BUGS: 18722 (SQLBUG_70)
N.º DE BUGS: 47131 (SQLBUG_70)
Expandir tudo | Reduzir tudo

Sintomas

A tentar utilizar um servidor ligado do Oracle utilizando o Microsoft OLE DB Provider para Oracle (MSDAORA) que consultas de uma tabela com uma coluna numérica poderá provocar um erro semelhante à seguinte:
Servidor: Erro 7354, 16 de nível de estado 1, linha 1 fornecedor OLE DB 'MSDAORA' fornecido metadados inválidos para a coluna 'nomedacoluna'. O tipo de dados não é suportado.
A consulta também poderá falhar se a coluna numérica não estiver na lista de selecção.

Causa

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

Como contornar

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

Ponto Da Situação

Microsoft confirmou que este problema existe no SQL Server 7.0. Este problema foi corrigido dos Estados Unidos Service Pack 2 para o Microsoft SQL Server 7.0. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
254561INF: Como obter o Service Pack 2 para Microsoft SQL Server 7.0 e Microsoft Data Engine (MSDE) 1.0
Para mais informações, contacte o fornecedor de suporte principal.

Mais Informação

Apesar de SQL Server 7.0 Service Pack 2 (SP2) contém uma correcção da causa do problema descrito, a configuração do SP2 não instala uma versão actualizada do procedimento armazenados por catálogo sp_columns_ex . Por isso, uma chamada para sp_columns_ex ainda poderá devolver o seguinte erro:
Servidor: Erro 515, 16 de nível 2 de estado, procedimento sp_columns_ex, linha 133
Não é possível inserir o valor nulo na coluna 'DATA_TYPE' tabela 'tempdb.dbo.#tmp_columns_XX'; a coluna não permite valores nulos. INSERT falhar. A instrução foi finalizada.
Para corrigir este problema, execute o script INSTCAT.SQL do SP2. Consulte "Como para actualizar o catálogo procedimentos armazenados" tópico no SQL Server 7.0 Books Online para obter instruções sobre como executar este script.

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

Propriedades

Artigo: 243027 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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