mySQL Entity Framework 4.1 Code First ASP.NET连接问题

时间:2011-07-26 23:01:48

标签: mysql entity-framework code-first

我有一个带有以下Web.config条目的ASP.NET webforms应用程序,以便我可以连接到在本地主机上运行的mySQL数据库:

  <connectionStrings>
    <remove name="LocalMySqlServer"/>
    <!-- <add name="ApplicationServices" connectionString="server=127.0.0.1;uid=root;pwd=mypass;database=MyDB" providerName="MySql.Data.MySqlClient" /> -->
    <add name="ApplicationServices" connectionString="server=127.0.0.1;uid=root;pwd=mypass;database=MyDB" providerName="MySQL Data Provider" />
  </connectionStrings>

  <system.data>
    <DbProviderFactories>
      <add
          name="MySQL Data Provider"
          invariant="MySql.Data.MySqlClient"
          description=".Net Framework Data Provider for MySQL"
          type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,
                  Version=6.4.3.0, Culture=neutral,
                  PublicKeyToken=c5687fc88969c44d"
        />
    </DbProviderFactories>
  </system.data>

用户可以使用“mypass”登录,但每当我实际连接到数据库时,我都会收到以下错误:

“建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)“

表示我有一个混乱的配置字符串,因为正在使用命名管道向SQL Server建立一个attmpt。

有人能指点我在解决方案的方向吗?

1 个答案:

答案 0 :(得分:0)

我的EF4.1和MySqlConnector 6.4.3的连接字符串如下所示:

<add name="myconnection" connectionString="metadata=res://*/MyDatabase.csdl| res://*/MyDatabase.ssdl|res://*/MyDatabase.msl; provider=MySql.Data.MySqlClient; provider connection string=&quot;server=servername;User Id=root;password=mypassword; Persist Security Info=True;database=mydatabase;Allow Zero Datetime=true;Convert Zero Datetime=true&quot;" providerName="System.Data.EntityClient" />