FIX: 您可以收到一条错误消息后 x 64 计算机上安装了压缩的 SQL Server 版本 3.5 Service Pack 2 的 32 位版本运行基于 SQL Server 压缩 3.5 英寸的应用程序时

文章翻译 文章翻译
文章编号: 974247 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

在 64 位计算机上 SQL Server 压缩 (压缩) 基于的应用程序可能会失败,使用以下两个症状之一:
症状 1
应用程序正试图加载的与该计算机上安装的版本不兼容的压缩版本。不正确的版本可能会导致应用程序不稳定和加载的压缩将被中止。

症状 2
应用程序无法加载 SQL Server 压缩对应于 ADO.NET 提供程序的本机组件。

以下是与这些问题的确切异常:

版本不匹配异常
ADO.NET 提供程序和本机的 SQL Server 压缩这可能会导致不正确的功能的二进制文件之间检测到的文件版本不匹配。 这可能是由于存在多个实例的不同版本的 SQL Server 压缩。 请安装 SQL Server 压缩的二进制文件匹配的版本的 [ADO.NET 提供程序文件版本 = XXXX,本机的二进制文件版本 = YYYY]

无法加载 ME dll 例外
无法加载 DLL sqlceme35.dll: 找不到该指定的模块。(从 HRESULT 异常: 0x8007007E)

原因

对压缩的 ADO.NET 提供程序 (System.Data.SqlServerCe.dll) 通常编程简洁的基于应用程序。此提供程序中的关闭与本机压缩组件进行通信。为了避免各种不一致,压缩的 ADO.NET 提供程序的某些版本可以与仅相同版本的精简的本机组件。以下是一些示例方案,其中该策略将会断开,这将导致前面提到的两种例外情况之一:

示例方案 1

安装 (这将安装 SQL Server 压缩 3.5 SP2 的 32 位版本) 的 SQL Server 2008 R2.Then 时运行私下部署 SQL Server 压缩 SP1,64-位应用程序时,,将它失败与版本不匹配"异常。

失败的原因

  • 安装 32 位版本的 SQL Server 压缩 3.5 SP2 时, 它将 ADO.NET 提供程序 (System.Data.SqlServerCe.dll) 的版本 3.5.8080 添加到全局程序集缓存 (GAC) 和 $ 本机 x86 组件放在 %计划 Files(x86) %文件夹下。
  • 运行 64 位应用程序的私有部署 SQL Server 压缩 SP1 时,的 ADO.NET 提供程序从 GAC (版本 3.5.8080) 加载,但是从应用程序文件夹是版本 3.5.5692.0 加载本机 64 位组件。
  • 没有不启用该策略为每一个版本不匹配。

示例方案 2

  • 在 64 位计算机上安装 SQL Server 压缩 3.5 SP1 x 86 的版本。
  • 然后,您安装 SQL Server 压缩 3.5 SP1 x64 版本。
  • 在同一计算机上下载和从 Web 安装 SQL Server 压缩 3.5 SP2 的 32 位版本。
  • 您运行一个 64 位应用程序,它使用 SQL Server 压缩 SP1 或 SP2。
  • 当您在运行应用程序时失败与无法加载 ME dll"异常。

失败的原因

  1. 安装 32 位版本的 SQL Server 压缩 3.5 SP2 x 86 SQL Server 压缩 3.5 sp2 的安装升级 SQL Server 压缩 3.5 SP1。这会导致正在从 x 64 安装不同的压缩的 x 86 安装。
  2. 在计算机上正在运行一个 64 位应用程序,它使用压缩 SP1 或 SP2,它也会在 GAC (版本 3.5.8080) 中加载的 ADO.NET 提供程序。但是,它找不到本机的二进制文件相同版本的系统上。因此,它将引发异常。

解决方案

时间任何给定点为 SQL Server 压缩的 64 位计算机的正确状态将如下所示:
  • x86 和 amd64 msi 安装。
  • x86 和 amd64 msi 是相同版本。

因此,如果您所面临类似的任何问题请确保计算机有两个 x86、 amd64 msi 的压缩已安装且它们是相同版本。万一他们不然后安装压缩 SP2 x86 和 x64 msi 从以下链接根据需要,请执行以下操作:
http://www.microsoft.com/downloads/details.aspx?familyid=E497988A-C93A-404C-B161-3A0B323DCE24&displaylang=en

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

属性

文章编号: 974247 - 最后修改: 2009年11月3日 - 修订: 2.2
这篇文章中的信息适用于:
  • Microsoft SQL Server Compact 3.5
关键字:?
kbmt kbhotfixserver kbsurveynew kbqfe KB974247 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 974247
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

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