当前位置:  开发笔记 > 后端 > 正文

在具有MVC 3的远程主机上使用SQL Server CE 4

如何解决《在具有MVC3的远程主机上使用SQLServerCE4》经验,为你挑选了2个好方法。

我刚刚将我的主机升级到MVC 3,但我正在尝试使用SQLCE 4.0做一个"hello world",但我得到了:

很抱歉,在执行您的要求时发生了一个错误.

我看到我的布局和一切,但我看到的不是数据.

在localhost上按预期工作

我有:


作为connectionString.

我把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.

KB说我需要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应该可以在没有安装的任何服务器上运行.



1> Jesus Rodrig..:

我不喜欢回答我自己的答案,但经过几个小时的工作,我得到了答案!

我们需要:

NuGet(比从程序文件中复制dll更好)

使用NuGet,我们安装:

EFCodeFirst

SqlServerCompact

EFCodeFirst.SqlServerCompact

问题是EF需要另一个用于SQL CE 4的DLL(System.Data.SqlServerCe.Entity.dll),我们需要在web.config上放置一些配置:

  
    
      
      
    
  

有了它,一切正常.我见过5个不同的错误,所以我们需要:

来自SQL CE 4的2 dll,EF dll,web.config中的配置和本机dll(来自NuGet下载库的包目录).

似乎web.config配置指向SQL CE .dll的具体版本,并且RTM包的版本不同.我找不到具体的版本,所以我使用NuGet的.dll.

这就是远程主机上的SQL CE 4 + EF.


@AlexandreBrisebois这个答案很老,如果你有VS2010 SP1,只需转到Project/Add可部署依赖项.这将增加必要的东西.

2> Skorunka Fra..:

只需使用菜单"Project/Add Deployable Dependencies ..."我不确定它是否只是Visual Studio 2010 SP 1.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有