Belirtiler
64 bit bilgisayarlarda, SQL Server Compact ("Compact") tabanlı uygulama, aşağıdaki iki belirtiden biriyle başarısız olabilir:Belirti 1uygulama, bilgisayarda yüklü olan sürümle uyumlu olmayan bir sıkıştırılmış sürümü yüklemeyi deniyor. Yanlış sürümler uygulama kararsızlığına yol açabilir ve yükleme yüklemesi iptal edilebilir. Belirti 2Uygulama, ADO.NET sağlayıcısına karşılık gelen SQL Server Compact 'in yerel bileşenlerini yükleyemiyor. Aşağıda, bu sorunlarla ilişkili tam özel durumlar verilmiştir:
ADO.NET sağlayıcısı ile SQL Server Compact 'in yerel ikilileri arasında yanlış işlevsellik sonucu verebilecek sürüm uyumsuzluğu ExceptionFile sürümü uyuşmazlığı. Bunun nedeni farklı sürümlerin birden çok SQL Server Compact örneğinin bulunması olabilir. Lütfen eşleşen sürümün SQL Server Compact ikililerini yükleyin [ADO.NET sağlayıcı dosyası sürümü = XXXX, yerel Ikili dosya sürümü = YYYY] ME dll özel durumu yüklenemiyor "sqlceme35. dll (HRESULT: 0x8007007E dışında)
Neden
Compact tabanlı uygulamalar genellikle Compact ADO.NET sağlayıcısında (System. Data. SqlServerCe. dll). Bu sağlayıcı, yerel Compact bileşenleriyle iletişim kurar. Çeşitli tutarsızlıkların olmaması için, belirli bir sürümdeki Compact ADO.NET sağlayıcısı yalnızca aynı sürümün Compact yerli bileşenleriyle konuşabilir. Aşağıda, bu ilkenin bozulmasına neden olan bazı örnek senaryolar ve daha önce bahsedilen iki özel durum ile ilgili sonuçlar verilmiştir:
Örnek Senaryo 1
SQL Server 2008 R2 yükleyin (Bu, SQL Server Compact 3,5 SP2'NIN 32 bit sürümünü yükler). Ardından, 64 bit uygulamasını özel olarak SQL Server Compact SP1 aracılığıyla dağıtırken, "sürüm uyumsuzluğu" özel durumu ile başarısız olur.
Başarısızlık nedeni
-
SQL Server Compact 3,5 SP2'NIN 32 bit sürümü yüklendiğinde, ADO.NET sağlayıcısını (System. Data. SqlServerCe. dll) genel derleme önbelleği 'ne (GAC) ekler ve yerel x86 bileşenleri% Program Files (x86)% klasörüne eklenir.
-
SQL Server Compact SP1'I özel olarak dağıtan 64bit uygulaması çalıştırıldığında, ADO.NET sağlayıcısı GAC 'den (sürüm 3.5.8080) yüklenir, ancak özgün 64bit bileşenleri, sürüm 3.5.5692.0 olan uygulama klasöründen yüklenir.
-
İlke için uygun olmayan sürüm uyumsuzluğu var.
Örnek Senaryo 2
-
64 bit bilgisayarda SQL Server Compact 3,5 SP1 x86 sürümünü yüklersiniz.
-
Ardından SQL Server Compact 3,5 SP1'IN x64 sürümünü yüklersiniz.
-
Aynı bilgisayarda, Web 'den SQL Server Compact 3,5 SP2'NIN 32 bit sürümünü indirip yüklersiniz.
-
SQL Server Compact SP1 veya SP2 kullanan bir 64 bit uygulaması çalıştırırsınız.
-
Uygulamayı çalıştırdığınızda, "benim oluşturduğum dll 'si yüklenemedi" özel durumu ile başarısız olur.
Başarısızlık nedeni
-
SQL Server Compact 3,5 SP2'NIN 32 bit sürümünü yüklemek SQL Server Compact 3,5 SP1 x86 yüklemelerini SQL Server Compact 3,5 SP2'YE yükseltir. X86 yüklemesi, x64 yüklemesinden farklı.
-
Bilgisayarınızda Compact SP1 veya SP2 kullanan bir 64 bit uygulaması çalışıyorsa, ADO.NET sağlayıcısını GAC 'den (sürüm 3.5.8080) yükler. Bununla birlikte, sistemdeki aynı sürümün yerel ikililerini bulamaz. Bu nedenle, özel durum oluşturur.
Çözüm
Herhangi bir zamanda, 64 bit bilgisayarın doğru durumu, SQL Server Compact için aşağıdaki gibi olabilir:
-
Hem x86 hem de AMD64 MS yüklü.
-
Hem x86 hem de AMD64, aynı sürümdür.
Bu nedenle, benzer sorunlarla karşılaşırsanız bilgisayarda hem x86 hem de AMD64 MS 'in yüklü olduğundan ve aynı sürüme sahip olduklarından emin olun. Gerekirse, gerektiğinde Compact SP2 x86 ve x64 MSIs 'yi yükleyin
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.