【问题标题】:Entity connectionstring providerName error on publishing Plesk Panel发布 Plesk Panel 时出现实体连接字符串 providerName 错误
【发布时间】:2014-02-26 17:52:40
【问题描述】:

我一直在使用带有实体框架的 asp.net mvc 项目。 最近,我在 plesk 面板上发布了我的应用程序,试图访问网页,但我得到了这个:

应用程序配置文件中的连接字符串“ModelMainContainer”不包含必需的 providerName 属性。”

这是我的连接字符串:

  <connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\MSSQLSERVER2012;Initial Catalog=AdvertisingDB;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\AdvertisingDB.mdf providerName=&quot;System.Data.SqlClient&quot;" />
<add name="ModelMainContainer" connectionString="provider=&quot;System.Data.SQLClient&quot;;provider connection string=&quot;data source=.\MSSQLSERVER2012;initial catalog=AdvertisingDB;User ID='******';Password='*******';MultipleActiveResultSets=True;App=EntityFramework;&quot;providerName=&quot;System.Data.EntityClient&quot;" />

如您所见,实际上有一个 providername 属性。

由于 Plesk 面板不允许对 web.config 进行任何手动更改,因此我在网站和域选项卡上使用 asp.net 设置。所以我不能干涉文件中的“引号”,但我真的不认为它们是问题所在。

有什么想法吗?谢谢。

【问题讨论】:

    标签: entity-framework-5 connection-string plesk


    【解决方案1】:

    我通过正确发布我的 web.config 得到了这个。似乎问题是将我的 providerName 定义到正确的位置。例如,如果我尝试在 Plesk 连接字符串管理器中定义 providerName,它根本不会那样工作。

    【讨论】:

      【解决方案2】:

      您需要手动编辑 Web.Config 文件。 ASP.NET 设置页面将删除 providerName。

      使用 EntityClient 的连接字符串示例如下。如果您不使用实体模型,则可以删除元数据信息。您会注意到 providerName 在实际的 connectionString 之外,这就是您需要手动编辑文件的原因。

      connectionString="metadata=ModelInformation;provider=System.Data.SqlClient;provider connection string="data source=IP;initial catalog=DATABASE;User ID=USERNAME;Password=PASSWORD;multipleactiveresultsets=True;application name=EntityFramework "" providerName="System.Data.EntityClient"

      【讨论】:

        猜你喜欢
        • 2013-09-08
        • 1970-01-01
        • 2013-07-13
        • 2021-11-01
        • 2011-07-30
        • 1970-01-01
        • 2020-10-11
        • 1970-01-01
        • 2017-08-14
        相关资源
        最近更新 更多