Acesso provoca um erro ao exportar campos com tipo de dados simples ou duplo para Oracle

Traduções de Artigos Traduções de Artigos
Artigo: 301915 - Ver produtos para os quais este artigo se aplica.
Moderado: Requer básica macros, codificação e interoperabilidade competências.

Este artigo aplica-se a uma base de dados do Microsoft Access (.mdb) e a um projecto do Microsoft Access (.adp).

Expandir tudo | Reduzir tudo

Sintomas

Quando utiliza o controlador ODBC do Oracle para exportar do Access tabela que tenha campos de tipo de dados único ou duplo, o controlador não consegue exportar esses campos da seguinte forma.
O controlador Oracle Microsoft apresenta a seguinte mensagem de erro:
o Microsoft Access não conseguiu acrescentar todos os dados à tabela.

<number>O conteúdo dos campos na <número> registo (s) foram eliminado e registo (s) 0 foram perdidas devido a violações de chave.
  • Se dados tiver sido eliminados, os dados que colou ou importou não coincidem com os tipos de dados de campo ou a propriedade TamanhoDoCampo na tabela de destino.
  • Se os registos foram perdidos os registos que colou contêm valores de chave primária que já existem na tabela de destino ou podem violam as regras de integridade referencial para uma relação definida entre tabelas.
    Deseja continuar mesmo assim?
Os controladores de ODBC do Oracle até e incluindo versão 8.1.6 apresentar a seguinte mensagem de erro:
ODBC - chamar falhou
[Oracle][ODBC][ORA] ORA-01401: Inserido valor demasiado grande para colunas (# 1401)

Causa

No Microsoft Access 97, o processo de exportação converte os campos de tipo de dados duplo e único VarChar2(40). No entanto, no Microsoft Access 2000 e versões posteriores, os campos são convertidos para VarChar2(4), que é demasiado pequena para conter os dados.

Resolução

Para exportar com êxito os dados para Oracle, utilize uma consulta baseada nas tabelas relevantes. Utilize a função CStr() para converter o tipo de dados em cadeia.

Por exemplo, considere a seguinte sintaxe SQL:
SELECT tblExample.pkeyDataID, tblExample.dblTest
FROM tblExample;
				
onde dblTest é um campo com um tipo de dados de dois. Converter dblTest um tipo de dados de cadeia efectuando as seguintes alterações a sintaxe SQL:
SELECT tblExample.pkeyDataID, CStr([dblTest]) AS Expr1
FROM tblExample;
				
Agora pode ser exportada com êxito a consulta para Oracle.

Este problema foi resolvido no Microsoft Jet 4.0 Database Engine Service Pack 8 (SP8). Para obter mais informações sobre o Microsoft Jet 4.0 Database Engine SP8, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
829558Informações sobre o Jet 4.0 Service Pack 8

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Os produtos de outros fabricantes que são discutidos neste artigo são fabricados por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, expressa ou implícita, relativamente ao desempenho ou fiabilidade destes produtos.

Propriedades

Artigo: 301915 - Última revisão: 26 de março de 2007 - Revisão: 5.1
A informação contida neste artigo aplica-se a:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
Palavras-chave: 
kbmt kbexport kbbug kberrmsg kbnofix KB301915 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: 301915

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