【发布时间】:2011-06-13 08:49:39
【问题描述】:
我刚刚将我的主机升级到 MVC 3,但我正在尝试使用 SQLCE 4.0 做一个“hello world”,但我刚刚得到:
抱歉,执行时出错 处理您的请求。
我看到了我的布局和所有内容,但我看到的不是数据。
在本地主机上按预期工作
我有:
<add name="PruebaContext" connectionString="Data Source=|DataDirectory|db.sdf" providerName="System.Data.SqlServerCE.4.0"/>
作为连接字符串。
我将 sdf 作为项目的一部分,我将 System.Data.SqlServerCE.dll 添加到项目中,本地副本 为 true。
我没有更多的想法。 connString, dll 在 /bin 并且在 localhost 中工作。
有什么想法吗?
谢谢。
编辑
我现在有一些日志:
没有 /bin 上的“System.Data.SqlServerCE.dll”:
找不到请求的 .Net Framework 数据提供程序。可能没有安装。
System.ArgumentException:找不到请求的 .Net Framework 数据提供程序。可能没有安装。
足够好。他们没有 SqlServerCE4。
使用本地副本上的 Dll,AKA /bin:
无法加载与版本 8482 的 ADO.NET 提供程序对应的 SQL Server Compact 本机组件。请安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。
异常详细信息:System.Data.SqlServerCe.SqlCeException:无法加载与版本 8482 的 ADO.NET 提供程序对应的 SQL Server Compact 本机组件。安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。
知识库说我需要 x86 和 amd64 的 dll。我在某处读到,如果我将两个目录复制到 /bin,例如: /bin/x86 和 /bin/amd64 。我从 SqlServerCE 4 安装文件夹的私有文件夹中复制了这些文件夹。现在我得到了:
在 ADO.NET 提供程序和 SQL Server Compact 的本机二进制文件之间检测到可能的文件版本不匹配,这可能导致功能不正确。这可能是由于存在多个不同版本的 SQL Server Compact 实例,或者由于与 SQL Server Compact 二进制文件同名的错误二进制文件。请安装匹配版本的 SQL Server Compact 二进制文件。
好的。在 SQLServerCE4 的根文件夹中,我也有一些 dll,因此我删除了这两个文件夹并将该 dll 复制到 /bin:
无法加载文件或程序集 'file:///C:\HostingSpaces\jesusrod\foxandxss.net\wwwroot\mvc3\bin\sqlceca40.dll' 或其依赖项之一。该模块应包含程序集清单。
我想我什么都试过了。 Scottgu 说 SqlServerCE 4 无需安装即可在任何服务器上运行。
【问题讨论】:
-
查看事件日志。错误应该记录在那里。
-
我不知道我是否看对了地方,但我的主机似乎没有日志系统。
-
Scott Gu 错了,我在完全非云环境中的许多地方都遇到过类似的问题。直接上Win2008。 :( 希望我能尽快弄清楚。
-
链接 stackoverflow.com/questions/10739845/… 以防它也对其他人有用
标签: asp.net-mvc-3 sql-server-ce sql-server-ce-4