Oprava: Zobrazí chybová zpráva při spuštění aplikace založené na SQL Server Compact 3.5 po instalaci 32bitové verze SQL Server Compact Edition 3.5 Service Pack 2 x64 počítače

Příznaky

V 64bitových počítačích může selhat aplikace SQL Server Compact (dále jen "CD-ROM") založena s jedním ze dvou následujících příznaků:
Příznak 1
Aplikace se pokouší načíst verzi CD-ROM, který není kompatibilní s verzí, která je nainstalována v počítači. Nesprávná verze může způsobit nestabilitu aplikace a načítání kompaktní by bylo přerušeno.



Příznak 2
Aplikace nemůže načíst nativní součásti SQL Server Compact, která odpovídá zprostředkovateli rozhraní ADO.NET.



Přesné výjimky, které jsou přidruženy tyto problémy jsou následující:

Výjimka Neshoda verzí
Soubor verze se neshodují mezi zprostředkovateli ADO.NET a nativní binární soubory systému SQL Server Compact, který může vést k nesprávné funkci. To může být způsobeno přítomností více instancí serveru SQL Server Compact různých verzí. Nainstalujte odpovídající verzi serveru SQL Server Compact binární [verze souboru rozhraní ADO.NET zprostředkovatele = XXXX, nativní binární verzi souboru = rrrr]

Nelze načíst ME dll výjimka"
Nelze načíst knihovnu DLL "sqlceme35.dll": uvedený modul nebyl nalezen. (Výjimky z HRESULT: 0x8007007E)

Příčina

Kompaktní založené aplikace obvykle program proti kompaktní ADO.NET zprostředkovatel (System.Data.SqlServerCe.dll). Tento zprostředkovatel v zapnutí komunikuje s nativní kompaktní součásti. Aby se předešlo různým nesrovnalostem, může kompaktní ADO.NET zprostředkovatel určité verze hovořit pouze na kompaktní nativní součásti stejné verze. Několik ukázkových situací, kde tato zásada se přeruší, a z tohoto důvodu v jednom z výše uvedené dvě výjimky jsou následující:

Příklad situace 1

Nainstalujte SQL Server 2008 R2 (nainstaluje 32bitové verze SQL Server Compact 3.5 SP2). Potom při spuštění 64bitových aplikací, které soukromě nasazení SQL Server Compact SP1 dojde k "Verze neshoda" výjimka.

Důvod selhání

  • Při instalaci 32bitová verze SQL Server Compact 3.5 SP2 přidá do globální mezipaměti sestavení (GAC) a nativní x86 které součásti jsou umístěny ve složce % Program Files(x86) % ADO.NET zprostředkovatel (System.Data.SqlServerCe.dll) verze 3.5.8080.
  • Při spuštění 64bitové aplikace, která soukromě nasazuje SQL Server Compact SP1 zprostředkovatele ADO.NET je načten z GAC (verze 3.5.8080), ale nativní 64bitové komponenty, které jsou načteny ze složky aplikace, což je verze 3.5.5692.0.
  • Existuje neshoda verzí, která není povolena podle zásad.

Příklad situace 2

  • Instalace x86 verzi SQL Server Compact 3.5 SP1 v počítači 64-bit.
  • Poté nainstalujte x64 verzi SQL Server Compact 3.5 SP1.
  • Ve stejném počítači stáhnout a nainstalovat 32bitové verzi SQL Server Compact 3.5 SP2 z webu.
  • Je-li spustit 64bitovou aplikaci, která používá SQL Server Compact SP1 nebo SP2.
  • Při spuštění aplikace selže s "Nelze načíst ME dll" výjimku.

Důvod selhání

  1. SQL Server Compact 3.5 SP1 instalace 32bitové verze SQL Server Compact 3.5 SP2 inovuje. x86 instalace serveru SQL Server Compact 3.5 SP2. Výsledkem x86 instalace se liší x64 kompaktní instalace.
  2. Když v počítači se systémem 64bitové aplikace, která používá Compact SP1 nebo SP2, načte zprostředkovatele ADO.NET z modulu GAC (verze 3.5.8080). Však nemůže najít nativní binární soubory se stejnou verzí systému. Proto vyvolá výjimku.

Řešení

V jakémkoli daném bodě čas správný stav počítače 64-bit, pro SQL Server Compact by být následující:
  • X86 a amd64 souborů MSI jsou nainstalovány.
  • X86 a amd64 souborů MSI jsou stejné verze.

Proto pokud budete čelit podobné problémy, ujistěte se, že počítač má obě x86 a amd64 souborů MSI z Compact jsou nainstalovány a jsou stejné verze. V případě, že nejsou, nainstalujte kompaktní SP2 x86 a x64 souborů MSI z následujícího odkazu podle potřeby:

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Vlastnosti

ID článku: 974247 - Poslední kontrola: 13. 1. 2017 - Revize: 1

Váš názor