EF 4.3 抛出“从 dB 获取提供程序信息时出错.由 EF 使用不正确的 con. 字符串导致.检查内部外表

本文关键字:EF con 不正确 字符串 内部 检查 出错 抛出 dB 获取 信息 | 更新日期: 2023-09-27 18:36:59

我首先使用 EF 4.3 代码。开发 EF Code 第一个应用程序并使 CRUD 操作在我的开发盒上做得非常好。将代码移动到 WCF 服务测试服务器后,真正的问题开始了。当我尝试插入我得到的记录时

"从数据库获取提供程序信息时出错。这可能是由实体框架使用不正确的连接字符串引起的。检查内部异常以了解详细信息,并确保连接字符串正确"

Web服务器中的相同代码运行良好,并且由其他开发人员(现在离开公司)完成,在将其部署到WCF TEST Server之前,我是否应该在IIS或应用程序配置中执行任何其他配置设置。我的意思是我需要安装一些东西或在 GAC 中验证吗?

WCF 服务器:Windows Server 2008 R2

EF

版本:EF 4.3 代码优先。数据库在 WCF 测试服务器上部署之前存在

配置文件 :

<connectionStrings>
<add name="MyApplicationDbContext" providerName="System.Data.SqlServerCe.4.0"    connectionString="Server=jmicsq10webdev'web_dev;Database=PlEcom;Integrated Security=SSPI;" />
</connectionStrings>
<configSections>   
<section name="entityFramework"   type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>

我也尝试使用ProverderName ="system。Data.SqlClient.dll",但没有解决我的问题

EF 4.3 抛出“从 dB 获取提供程序信息时出错.由 EF 使用不正确的 con. 字符串导致.检查内部外表

我得到了同样的错误,所以我去改变了

AttachDBFilename=|DataDirectory|'aspnet.mdf" 
providerName="System.Data.SqlServerCe.4.0"/>

此行到

AttachDBFilename=|DataDirectory|'aspnet-MvcHopitalPatient-20121116125855.mdf"
providerName="System.Data.SqlClient" />

到下面的代码片段

 <connectionStrings>
   <add name="PatientDBContext"
        connectionString="Data Source=|DataDirectory|Patients.sdf"
        providerName="System.Data.SqlServerCe.4.0"/>
    <add name="DefaultConnection" 
        connectionString="Data Source=(LocalDb)'v11.0;
        Initial Catalog=aspnet-MvcHopitalPatient-20121116125855;
        Integrated Security=SSPI;
        AttachDBFilename=|DataDirectory|'aspnet-MvcHopitalPatient-20121116125855.mdf"
        providerName="System.Data.SqlClient" />
 </connectionStrings>

尝试使用常规的 SqlClient 而不是精简版?

<connectionStrings>
<add name="MyApplicationDbContext" providerName="System.Data.SqlClient"    connectionString="Server=jmicsq10webdev'web_dev;Database=PlEcom;Integrated Security=SSPI;" />
</connectionStrings>

您需要从控制面板启动 SQL Server 服务。有时服务会停止。我有同样的问题。原因是 Sql 服务未运行。启动服务解决了问题