首页 文章

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

提问于
浏览
0

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

这是错误:

mscorlib.dll中出现'System.AggregateException'类型的第一次机会异常MySql.Data.RT.DLL中出现类型'MySql.Data.MySqlClient.MySqlException'的第一次机会异常 . 类型'MySql的第一次机会异常 . 在MySql.Data.RT.DLL中发生了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的System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,CancellationToken cancellationToken)的System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)处的内部异常堆栈跟踪结束 . MySql.Data上的MySql.Data.Common.MyNetworkStream.OpenConnection()MySql.Data.Common.MyNetworkStream.Open()MySql.Da()MySql.MreateStream.MyNetworkStream.CreateStream(MySqlConnectionStringBuilder设置,布尔unix)MySql.Data上的任务.Wait() MySql.Data.MySqlClient.NativeDriver.Open()中MySql.Data.Common.StreamCreator.GetStream(MySqlConnectionStringBuilder设置)的.Common.StreamCreator.GetTcpStream(MySqlConnectionStringBuilder设置)---内部异常堆栈跟踪结束---在MySql MySql的MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()中MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder设置)的MySql.Data.MySqlClient.Driver.Open()的.Data.MySqlClient.NativeDriver.Open() .Data.MySqlClient.MySqlPool.GetP ooledConnection()at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()at MySql.Data.MySqlClient.MySqlPool.GetConnection()at MySql.Data.MySqlClient.MySqlConnection.Open()at QuantiView.Classes.clsGlobal.mMySqlConnect()A MySql.Data.RT.DLL中发生类型'System.InvalidOperationException'的第一次机会异常mscorlib.dll中发生了类型'System.InvalidOperationException'的第一次机会异常System.InvalidOperationException:Connection必须有效并且打开 . 在MySql.Data.MySqlClient.MySqlConnection.Throw(异常前)在MySql.Data.MySqlClient.MySqlCommand.Throw(异常前)在MySql.Data.MySqlClient.MySqlCommand.CheckState()在MySql.Data.MySqlClient.MySqlCommand.ExecuteReader (CommandBehavior行为)位于QuantiView.Classes.clsGlobal.d_20.MoveNext()的MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()---从抛出异常的上一个位置的堆栈跟踪结束---在System.Runtime . 位于QuantiView.Pages.p1Project.d_f.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中的CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

和连接代码:

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

    打开 Package.appxmanifest 打开 Capabilities 标签和 Check Private Networks(Client & Server)

相关问题