La conexión de MySQL falla en el modo de depuración

Tengo un problema extraño con la conectividad de MySQL. mi entorno es

Sistema operativo: Microsoft Windows Home Basic
IDE - SharpDevelop 4.3.3.9663

Servidor MySQL - 5.5
Conector MySQL - 6.8.3

Creé un programa de muestra que se conecta al servidor MySQL en mi máquina.

using System;
using MySql.Data.MySqlClient;

namespace TestBed
{
    class Program
    {
        private static MySql.Data.MySqlClient.MySqlConnection conn;
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            connect();

            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }

        public static void connect()
        {

            string myConnectionString;

            //myConnectionString = "Server=localhost; Port=3306; Database=test; Uid=root; Pwd=Welcome01;"; //works fine in rel mode
            myConnectionString = "Server=127.0.0.1; Port=3306; Database=test; Uid=root; Pwd=Welcome01;"; 

            try
            {
                conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
                conn.Open();
                Console.WriteLine("opened");
            }
            catch (MySql.Data.MySqlClient.MySqlException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}

Estaba recibiendo el siguiente error al principio.

MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts.
   at System.Void MySql.Data.MySqlClient.NativeDriver.Open()
   at System.Void MySql.Data.MySqlClient.Driver.Open()
   at static Driver MySql.Data.MySqlClient.Driver.Create(MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings)
   at Driver MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
   at Driver MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
   at Driver MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
   at Driver MySql.Data.MySqlClient.MySqlPool.GetConnection()
   at System.Void MySql.Data.MySqlClient.MySqlConnection.Open()
   at static System.Void TestBed.Program.method() in ...\TestBed\Program.cs:line 36
   at static System.Void TestBed.Program.Main(System.String[] args) in ...\Program.cs:line 19

Recibí una pista de este enlace (No puedo conectarme a MySQL cuando uso el modo de depuración) y probé con el modo Release. ¡Sorprendentemente fue capaz de abrir la conexión!

Lo analicé un poco más y encontré las siguientes cosas.

  1. ¡Arroja el error solo si uso Debug->Step over (usando las teclas F10 para depurar paso a paso)!
  2. Si acabo de iniciar la aplicación en modo de depuración, se conecta.
  3. Puedo escalonar puntos de ruptura por encima y por debajo del método "conectar ()"
  4. También puedo usar paso a paso (con la tecla F10) para depurar otras partes de la aplicación, pero si uso paso a paso en este método, lleva mucho tiempo y arroja el mismo error.

No estoy seguro de si estoy haciendo algo mal o es un error con MySQL o SharpDevelop. ¿Alguien ha enfrentado este tipo de problema? Si es posible, ¿alguien puede arrojar algo de luz sobre esto?

Gracias, Ganesh Periasamy

preguntado el 14 de febrero de 14 a las 01:02

2 Respuestas

prueba esto..

"Persist Security Info=False;server=127.0.0.1;database=xx;uid=yy;password=zz"

Respondido 14 Feb 14, 01:02

Debe seguir algún formato estándar: connectionstrings.com/mysql-connector-net-mysqlconnection - Kapil

Intenté "Persistir..." pero no tuve suerte. Una actualización: desinstalé MySql 5.5 e instalé Wamp y estoy usando el servidor mysql para conectarme. Ahora obtengo System.ArgumentOutOfRangeException: la longitud no puede ser inferior a cero. en String System.String.InternalSubStringWithChecks(System.Int32 startIndex, System.Int32 length, System.Boolean fAlwaysCopy) ... patético :( - Ganesh Periyasamy

de nuevo, si inicio el programa como "Ejecutar sin Degbugger (ctrl+f5)" en sharpdevelop, ¡funciona bien! - Ganesh Periyasamy

Está bien. Esto ha sido reportado como un error en SharpDevelop Debugger (http://community.sharpdevelop.net/forums/t/16473.aspx) ¡pero no hubo respuestas del equipo de SharpDevelop durante aproximadamente un año! Seguiré esto con ellos e intentaré actualizar este hilo, en caso de que obtenga alguno.

Respondido 14 Feb 14, 22:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.