我的应用程序有一个带有工作本地数据库的DAL层。我有与db交互的测试,它们工作正常。
我还有一个wcf服务,它使用我的DAL提供的功能。但是,当客户端应用程序调用服务时,不会检索任何数据。相反,我得到一个例外:
消息="底层提供程序在打开时失败。"
" System.Data.Entity的"
StackTrace =" at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition,DbConnection storeConnectionToOpen,DbConnection originalConnection,String exceptionCode,String attemptsOperation, 布尔和放大器; closeStoreConnectionOnFailure)\ r \ n ...
内部异常:
"无法连接到任何指定的MySQL主机。"
{"没有这样的主人知道"}
" at MySql.Data.MySqlClient.NativeDriver.Open()\ r \ n在MySql.Data.MySqlClient.Driver.Open()\ r \ n at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder 设置)\ r \ n at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()\ r \ n at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()\ r \ n at MySql.Data.MySqlClient.MySqlPool.GetConnection()\ r \ n at MySql.Data.MySqlClient.MySqlConnection.Open()\ r \ n at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(布尔 openCondition,DbConnection storeConnectionToOpen,DbConnection originalConnection,String exceptionCode,String attemptsOperation, 布尔和放大器; closeStoreConnectionOnFailure)"
我确认我的连接字符串与我的测试使用的相同。
<add name="loansEntities" connectionString="metadata=res://*/LoansDbModel.csdl|res://*/LoansDbModel.ssdl|res://*/LoansDbModel.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost:3306;User Id=root;password=123456;database=dbname;Persist Security Info=True"" providerName="System.Data.EntityClient"/>
数据库是本地mysql数据库,用户和数据库都存在。 这些服务也是本地的,在IIS Express中运行。
为什么我会收到此异常?
答案 0 :(得分:0)
这可能是由于几个原因,请检查以下几点:
System.Data.SqlClient
,请进行更改
它到System.Data.Odbc