MVC部署报错The specified named connection is either not found in the configuration

yaotomo 2018-06-18 10:56:54
在本地没有问题,发布到服务器上报错
Server Error in '/' Application.
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.

应该和EF有关
配置文件里的连接字符串

<connectionStrings>
<add name="riskEntities" connectionString="metadata=res://*/Areas.Mms.Models.RiskModel.csdl|res://*/Areas.Mms.Models.RiskModel.ssdl|res://*/Areas.Mms.Models.RiskModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Zephyr.Mms;user id=sa;password=sa;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>


在网上查了一下解决办法,有的说把EF的相关设置修改一下
默认为

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>

修改为

<entityFramework>
<defaultConnectionFactory type = "System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName = "System.Data.SqlClient" type = "System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>


但是修改后没有作用

还有一点,我本机调试的时候用的是SQLSERVER2014
部署的时候,通过导出脚本还原到了较低的SQLSERVER2008版本,是不是和这个有关呢?

请各位为小弟指点迷津,不胜感激
...全文
350 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaotomo 2018-06-19
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
[quote=引用 2 楼 yaotomo 的回复:] [quote=引用 1 楼 duanzi_peng 的回复:] 在本地没有问题,发布到服务器上报错 -》发布之后丢失? 先手动放一个config到服务器端呢
谢谢回复 发布后丢失是指数据连接字符串找不到吗? 我部署到服务器的时候,恢复sql数据库是到低版本的,用导出脚本还原的,是不是和这个有关系?web.config设置没有动过。 手动放一个config是指?[/quote] 是的,只是猜测。 发布之后的运行环境要与本地的一致,即使你考虑到是sql低版本 你可以甚至必须设置服务器环境与本机一致啊。[/quote] 本机和服务器只是sqlserver版本不一样,都设置为

  <connectionStrings>
    <add name="riskEntities" connectionString="metadata=res://*/Areas.Mms.Models.RiskModel.csdl|res://*/Areas.Mms.Models.RiskModel.ssdl|res://*/Areas.Mms.Models.RiskModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Zephyr.Mms;user id=sa;password=sa;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
  </connectionStrings>
应该也没问题吧? data source=.;initial catalog=Zephyr.Mms;user id=sa;password=sa; 这些和本地的设置都是对应着的
exception92 2018-06-19
  • 打赏
  • 举报
回复
引用 2 楼 yaotomo 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] 在本地没有问题,发布到服务器上报错 -》发布之后丢失? 先手动放一个config到服务器端呢
谢谢回复 发布后丢失是指数据连接字符串找不到吗? 我部署到服务器的时候,恢复sql数据库是到低版本的,用导出脚本还原的,是不是和这个有关系?web.config设置没有动过。 手动放一个config是指?[/quote] 是的,只是猜测。 发布之后的运行环境要与本地的一致,即使你考虑到是sql低版本 你可以甚至必须设置服务器环境与本机一致啊。
yaotomo 2018-06-19
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
在本地没有问题,发布到服务器上报错 -》发布之后丢失? 先手动放一个config到服务器端呢
谢谢回复 发布后丢失是指数据连接字符串找不到吗? 我部署到服务器的时候,恢复sql数据库是到低版本的,用导出脚本还原的,是不是和这个有关系?web.config设置没有动过。 手动放一个config是指?
exception92 2018-06-19
  • 打赏
  • 举报
回复
在本地没有问题,发布到服务器上报错 -》发布之后丢失? 先手动放一个config到服务器端呢

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧