无法仅在一台计算机上连接到MySQL数据库

时间:2013-12-19 23:39:30

标签: c# mysql windows-runtime

我正在使用MySQL Connector/Net 6.7.4向Windows 8商店应用中的MySQL数据库发送和接收数据。它完美地适用于一台机器,但不适用于另一台机器。

这是错误:

  

mscorlib.dll中出现'System.AggregateException'类型的第一次机会异常   MySql.Data.RT.DLL中发生了'MySql.Data.MySqlClient.MySqlException'类型的第一次机会异常   MySql.Data.RT.DLL中发生了'MySql.Data.MySqlClient.MySqlException'类型的第一次机会异常   MySql.Data.RT.DLL中发生了'MySql.Data.MySqlClient.MySqlException'类型的第一次机会异常   MySql.Data.MySqlClient.MySqlException:无法连接到任何指定的MySQL主机。 ---> System.AggregateException:发生一个或多个错误。 ---> System.Threading.Tasks.TaskCanceledException:任务已取消。      ---内部异常堆栈跟踪结束---      在System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)      在System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,CancellationToken cancellationToken)      在System.Threading.Tasks.Task.Wait()      at MySql.Data.Common.MyNetworkStream.OpenConnection()      at MySql.Data.Common.MyNetworkStream.Open()      at MySql.Data.Common.MyNetworkStream.CreateStream(MySqlConnectionStringBuilder settings,Boolean unix)      在MySql.Data.Common.StreamCreator.GetTcpStream(MySqlConnectionStringBuilder设置)      在MySql.Data.Common.StreamCreator.GetStream(MySqlConnectionStringBuilder设置)      at MySql.Data.MySqlClient.NativeDriver.Open()      ---内部异常堆栈跟踪结束---      at MySql.Data.MySqlClient.NativeDriver.Open()      at MySql.Data.MySqlClient.Driver.Open()      在MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder设置)      at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()      at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()      at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()      at MySql.Data.MySqlClient.MySqlPool.GetConnection()      at MySql.Data.MySqlClient.MySqlConnection.Open()      在QuantiView.Classes.clsGlobal.mMySqlConnect()   MySql.Data.RT.DLL中发生了'System.InvalidOperationException'类型的第一次机会异常   mscorlib.dll中发生了'System.InvalidOperationException'类型的第一次机会异常   System.InvalidOperationException:Connection必须有效且打开。      at MySql.Data.MySqlClient.MySqlConnection.Throw(Exception ex)      at MySql.Data.MySqlClient.MySqlCommand.Throw(Exception ex)      at MySql.Data.MySqlClient.MySqlCommand.CheckState()      at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)      at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()      在QuantiView.Classes.clsGlobal.d_ 20.MoveNext()   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()      在QuantiView.Pages.p1Project.d _f.MoveNext()

连接代码:

public static void mMySqlConnect()
{
   Debug.WriteLine("mMySqlConnect");
   Debug.WriteLine("internet = " + IsInternet());
   if (connection.Equals(null)) connection = new MySqlConnection(connectionString);
   try
   {
      if (connection.State.Equals(ConnectionState.Closed)) connection.Open();
   }
   catch (MySqlException ex)
   {
      Debug.WriteLine(ex.ToString());
      switch (ex.Number)
      {
         case 0:
            Debug.WriteLine("Cannot connect to server.  Contact administrator");
            break;

         case 1045:
            Debug.WriteLine("Invalid username/password, please try again");
            break;
      }
   }
}

两台机器都运行Win8.1完全更新,相同版本的VS(2013年也更新),具有相同的引用和已安装的程序集,都连接到同一网络。

1 个答案:

答案 0 :(得分:0)

打开 Package.appxmanifest 打开功能标签和检查专用网络(客户端和服务器)