FIX: ╚ possibile venga visualizzato un messaggio di errore quando si esegue un'applicazione basata su SQL Server Compact 3.5 dopo avere installato la versione a 32 bit di SQL Server Compact Edition 3.5 Service Pack 2 in un computer x 64

Traduzione articoli Traduzione articoli
Identificativo articolo: 974247 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Nei computer a 64 bit, un'applicazione SQL Server Compact (? compatta ?) base potrebbe non riuscire con uno dei sintomi descritti di seguito:
Sintomo 1
L'applicazione sta tentando di caricare una versione di compattazione non Ŕ compatibile con la versione installata nel computer. Le versioni non corrette potrebbero causare instabilitÓ dell'applicazione e il caricamento di compattazione potrebbe essere interrotta.

Sintomo 2
L'applicazione non Ŕ in grado di caricare i componenti nativi di SQL Server Compact che corrisponde al provider ADO.NET.

Le eccezioni esatte che sono associate a questi problemi sono:

Versione non corrispondente eccezione
File di versione non corrispondente rilevato tra ADO.NET provider e i file binari nativi di SQL Server Compact che potrebbe produrre una funzionalitÓ errata. ╚ possibile a causa della presenza di pi¨ istanze di SQL Server Compact delle diverse versioni. Installare i file binari di SQL Server Compact di versione corrispondente [versione file provider ADO.NET = XXXX, versione file binari nativi = aaaa]

Impossibile caricare ME dll Exception ?
Impossibile caricare la DLL 'sqlceme35.dll': Impossibile trovare il modulo specificato. (Eccezione da HRESULT: 0x8007007e)

Cause

Le applicazioni basate su compatte la programmazione in genere il provider Compact ADO.NET (System.Data.SqlServerCe.dll). Questo provider a sua volta comunica con i componenti Compact nativi. Per evitare inconsistenze diverse, pu˛ comunicare con un provider Compact ADO.NET di una determinata versione solo per i componenti nativi Compact della stessa versione. Di seguito sono alcuni scenari di esempio in cui questo criterio verrÓ interrotto e di conseguenza in uno dei due eccezioni menzionate in precedenza:

Scenario di esempio 1

Installare SQL Server 2008 R2 (installa la versione a 32 bit di SQL Server Compact 3.5 SP2) e quindi, quando si esegue un'applicazione a 64 bit distribuzione privatamente a Microsoft SQL Server Compact SP1 IT non con ? versione non corrispondente"eccezione.

Motivo dell'errore

  • Quando si installa la versione a 32 bit di SQL Server Compact 3.5 SP2, aggiunge il provider ADO.NET (System.Data.SqlServerCe.dll) della versione 3.5.8080 Global Assembly Cache (GAC) e native x 86 componenti vengono inseriti nella cartella % Program Files(x86) %.
  • Quando si esegue l'applicazione a 64 bit che distribuisce privatamente a Microsoft SQL Server Compact SP1, il provider ADO.NET viene caricato dalla Global Assembly Cache (versione 3.5.8080) ma dalla cartella dell'applicazione, ovvero versione 3.5.5692.0 vengono caricati i componenti nativi a 64 bit.
  • ╚ presente una mancata corrispondenza di versione che non Ŕ abilitata in base al criterio.

Scenario di esempio 2

  • ╚ possibile installare la versione x 86 di SQL Server Compact 3.5 SP1 in un computer a 64 bit.
  • Quindi, Ŕ necessario installare la versione x 64 di SQL Server Compact 3.5 SP1.
  • Nello stesso computer, scaricare e installare la versione a 32 bit di SQL Server Compact 3.5 SP2 dal Web.
  • Si esegue un'applicazione a 64 bit che utilizza SQL Server Compact SP1 o SP2.
  • Quando si esegue l'applicazione, non riesce con Impossibile ? ME caricare la dll "eccezione.

Motivo dell'errore

  1. L'installazione della versione a 32 bit di SQL Server Compact 3.5 SP2 Aggiorna SQL Server Compact 3.5 SP1 x 86 le installazioni di SQL Server Compact 3.5 SP2. Risultato nell'installazione x 86 di compattazione differenti dall'installazione x 64.
  2. Quando un'applicazione a 64 bit che utilizza Compact SP1 o SP2 Ŕ in esecuzione sul computer, carica il provider ADO.NET dalla GAC (versione 3.5.8080). Tuttavia, non Ŕ possibile trovare i file binari nativi della stessa versione del sistema. Di conseguenza, viene generata l'eccezione.

Risoluzione

In qualsiasi dato momento, lo stato di un computer a 64 bit, per SQL Server Compact corretto sarebbe il seguente:
  • X 86 e amd64 MSIs vengono installati.
  • X 86 e amd64 MSIs sono della stessa versione.

Pertanto, se Ŕ necessario affrontare problemi simili, assicurarsi che il computer dispone di entrambe x 86 e amd64 MSIs di Compact sono installati e sono della stessa versione. Nel caso non lo siano, quindi installare Compact SP2 x 86 e x 64 MSIs dal collegamento riportato di seguito secondo le necessitÓ:
http://www.microsoft.com/downloads/details.aspx?familyid=E497988A-C93A-404C-B161-3A0B323DCE24&displaylang=en

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".

ProprietÓ

Identificativo articolo: 974247 - Ultima modifica: martedý 3 novembre 2009 - Revisione: 2.2
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server Compact 3.5
Chiavi:á
kbmt kbhotfixserver kbsurveynew kbqfe KB974247 KbMtit
Traduzione automatica articoli
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: 974247
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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