ACC2002: Mensagem de erro de "Erro de Server 134" quando tenta converter a base de dados

Traduções de Artigos Traduções de Artigos
Artigo: 282390 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
importante : Este artigo contém informações sobre como modificar o registo. Antes de modificar o registo, certifique-se de que efectua uma cópia de segurança e de que compreende como o restaurar o registo se ocorrer um problema. Para obter informações sobre como efectuar uma cópia de segurança, restaurar e editar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
256986Descrição do registo do Microsoft Windows
Moderado: Requer básica macros, codificação e interoperabilidade competências.

Este artigo aplica-se apenas a uma base de dados do Microsoft Access (.mdb).

Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando tenta converter a base de dados, poderá receber uma mensagem de erro semelhante à seguinte:
Erro de servidor 134: A variável nome '@ formulários......' já foi declarado. Os nomes das variáveis devem ser exclusivos num processo de consulta ou procedimento armazenado.

Erro de servidor 170: Linha 7: sintaxe incorrecta perto de ') '.

Causa

Este comportamento pode ocorrer se as consultas na base de dados conter parâmetros que correspondam ao através do primeiro 30 caracteres. Por exemplo, a seguinte consulta produz a mensagem de erro:
   PARAMETERS [123456789012345678901234567890start] DateTime,    [123456789012345678901234567890end] DateTime;
   SELECT item, date
   FROM Table1
   WHERE date Between [123456789012345678901234567890start] And    [123456789012345678901234567890end];
				
Nota: Se esta consulta contém dois parâmetros que correspondem entre si através do primeiro 30 caracteres:
  • [123456789012345678901234567890start] DateTime
  • [123456789012345678901234567890end] DateTime

Resolução

Para resolver este problema, altere os nomes de parâmetro de tal forma que diferem no primeiro 30 caracteres. Por exemplo, se a consulta contém os seguintes dois parâmetros
  • [123456789012345678901234567890start] DateTime
  • [123456789012345678901234567890end] DateTime
Pode alterar os parâmetros para o seguinte:
  • [start123456789012345678901234567890] DateTime
  • [end123456789012345678901234567890] DateTime
Tenha em atenção que o Assistente de conversão aceita apenas os primeiro 30 caracteres, pelo que a consulta SQL resultante contém os seguintes parâmetros:
  • (@ start1234567890123456789012345) DateTime
  • (@ end123456789012345678901234567) DateTime

Ponto Da Situação

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

Mais Informação

aviso : a utilização incorrecta do Editor de registo poderá provocar problemas graves que poderão forçar a reinstalação do sistema operativo. Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de registo possam ser resolvidos. As suas próprias risco da utilização do Editor de registo.

Passos para reproduzir o problema

  1. Inicie o Editor de registo (Regedit.exe).
  2. Abra a seguinte chave de registo:
    HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Wizards\Preferences\Upsizer\Quiet
  3. Defina o valor desta chave como não e, em seguida, feche o Editor de registo.
  4. Inicie o Microsoft Access e, em seguida, criar uma nova base de dados, Db1.mdb.
  5. Criar uma nova tabela no Db1.mdb:
       Table: Table1
       ----------------------
       Field Name: ID
       Data Type:  Text
       PrimaryKey: Yes
    
       Field Name: Date
       Data Type:  Date/Time
    
       Field Name: Item
       Data Type:  Text
    					
  6. Na janela Base de dados, clique em consultas e, em seguida, faça duplo clique em criar uma nova consulta na vista de estrutura .
  7. Clique em Fechar e, em seguida, clique em SQL na barra de ferramentas Estrutura da consulta .
  8. No Editor de SQL, introduza a seguinte consulta:
       PARAMETERS [123456789012345678901234567890start] DateTime,    [123456789012345678901234567890end] DateTime;
       SELECT item, date
       FROM Table1
       WHERE date Between [123456789012345678901234567890start] And    [123456789012345678901234567890end];
    					
  9. Guarde a consulta como qryLongParameters e, em seguida, feche o Editor de SQL.
  10. No menu Ferramentas , aponte para Utilitários de base de dados e, em seguida, clique em Assistente de conversão .
  11. Converter a base de dados para o SQL Server.

    Receberá uma mensagem de erro semelhante à listados na secção "Sintomas" deste artigo.

Referências

Para mais informações sobre como converter a base de dados, clique em Ajuda do Microsoft Access no menu Ajuda , escreva Converter no Assistente do Office ou no Assistente de respostas e, em seguida, clique em Procurar para visualizar os tópicos devolvidos.

Propriedades

Artigo: 282390 - Última revisão: 6 de fevereiro de 2014 - Revisão: 4.2
A informação contida neste artigo aplica-se a:
  • Microsoft Access 2002 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbnofix KB282390 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: 282390

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