ACC2002: Messaggio di errore di "Errore di server 134" quando si tenta di eseguire l'upsize del database

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 282390
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
importante : questo articolo contiene informazioni sulla modifica del Registro di sistema. Prima di modificare il Registro di sistema, eseguire una copia di backup e assicurarsi di sapere come ripristinarlo in caso di problemi. Per ulteriori informazioni su come eseguire il backup, ripristinare e modificare il Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
256986Descrizione del Registro di sistema di Microsoft Windows
Moderato: Impone la macro di base, codifica e le competenze di interoperabilità.

Il contenuto di questo articolo è applicabile solo ai database Microsoft Access (mdb).

Sintomi
Quando si tenta l'upsize del database, è possibile messaggio di errore analogo al seguente:
Errore del server 134: La variabile di nome '@ form...' è già stato dichiarato. I nomi delle variabili devono essere univoci all'interno di un batch di query o di una stored procedure.

Errore del server 170: Riga 7: sintassi non corretta accanto a ') '.
Cause
Questo comportamento può verificarsi se le query nel database contenere parametri corrispondenti tramite dai primi 30 caratteri. Ad esempio, la query seguente genera il messaggio di errore:
   PARAMETERS [123456789012345678901234567890start] DateTime,    [123456789012345678901234567890end] DateTime;   SELECT item, date   FROM Table1   WHERE date Between [123456789012345678901234567890start] And    [123456789012345678901234567890end];				
nota che la query contiene due parametri che corrispondono dai primi 30 caratteri:
  • DateTime [123456789012345678901234567890start]
  • DateTime [123456789012345678901234567890end]
Risoluzione
Per risolvere il problema, modificare i nomi di parametro in modo che si differenziano all'interno dai primi 30 caratteri. Ad esempio, se la query contiene due parametri seguenti
  • DateTime [123456789012345678901234567890start]
  • DateTime [123456789012345678901234567890end]
è possibile modificare i parametri al seguente:
  • [start123456789012345678901234567890] DateTime
  • [end123456789012345678901234567890] DateTime
Si noti che l'Upsize guidato accetta solo i primi 30 caratteri, in modo che la query SQL risultante contiene i seguenti parametri:
  • (@ start1234567890123456789012345) DateTime
  • (@ end123456789012345678901234567) DateTime
Status
Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo.
Informazioni
avviso : se si utilizza Editor del Registro di sistema in modo non corretto, si potrebbero provocare problemi gravi che potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non garantisce la che è possibile risolvere i problemi derivanti dall'errato utilizzo dell'editor del Registro di sistema. Utilizzare Editor del Registro di sistema a proprio rischio.

Procedura per riprodurre il problema

  1. Avviare l'editor del Registro di sistema (Regedit.exe).
  2. Aprire la seguente chiave del Registro di sistema:
    HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Wizards\Preferences\Upsizer\Quiet
  3. Impostare il valore di questa chiave su No e chiudere l'editor del registro.
  4. Avviare Microsoft Access e creare un nuovo database db1.mdb.
  5. Creare una nuova tabella in 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. Nella finestra del database, fare clic su query e quindi fare doppio clic su Crea una nuova query in visualizzazione struttura .
  7. Fare clic su Chiudi e quindi fare clic su SQL sulla barra degli strumenti Struttura Query .
  8. Nell'Editor SQL, immettere la seguente query:
       PARAMETERS [123456789012345678901234567890start] DateTime,    [123456789012345678901234567890end] DateTime;   SELECT item, date   FROM Table1   WHERE date Between [123456789012345678901234567890start] And    [123456789012345678901234567890end];					
  9. Salvare la query come qryLongParameters e chiudere l'Editor SQL.
  10. Scegliere Utilità Database dal menu Strumenti , quindi Upsize guidato .
  11. Eseguire l'upsize del database a SQL Server.

    È visualizzato un messaggio di errore simile a quello elencato nella sezione "Sintomi" di questo articolo.
Riferimenti
Per ulteriori informazioni sull'upsize del database, scegliere Guida in linea di Access dal menu Guida , digitare l'upsize nell'Assistente di Office o nella ricerca libera e scegliere Cerca per visualizzare gli argomenti restituiti.

PRA

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 282390 - Ultima revisione: 01/24/2014 07:14:49 - Revisione: 4.2

Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbnofix KB282390 KbMtit
Feedback