我有一个带有以下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。
有人能指点我在解决方案的方向吗?
答案 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="server=servername;User Id=root;password=mypassword; Persist Security Info=True;database=mydatabase;Allow Zero Datetime=true;Convert Zero Datetime=true"" providerName="System.Data.EntityClient" />