none
Problemas con cadena de conexión y MySQL RRS feed

  • Pregunta

  • ¡Hola! Les traigo un caso un tanto curioso. Resulta que tengo una aplicación que me trae en un combo todas las computadoras conectadas a mi grupo de trabajo. De acuerdo al hostname que seleccione, creo una cadena de conexión con el nombre del hostname como Server e intento conectarme.

    Lo raro de ésto es que pongo a otra pc como servidor, con el nombre de usuario y contraseña de mi servidor mysql... En teoría debería decirme qeu el password o usuario no son válidos, pero se conecta a mi propia base de datos en lugar de esa otra PC.

    Mire, hago esto:

    MySqlConnection cnx = new MySqlConnection("Server = " + cmbServidor.Text.Trim() + "; " +
                   "Port = " + txtPuerto.Text.Trim() + "; " +
                   "Uid=" + txtUsuario.Text.Trim() + "; PWD= " + txtContrasenia.Text.Trim());
            cnx.Open();
            MySqlCommand cmd = new MySqlCommand("USE bdb;", cnx);
            cmd.ExecuteNonQuery();
    
            MessageBox.Show("La conexión ha resultado exitosa.", "BIACOP", MessageBoxButtons.OK, MessageBoxIcon.Information);
            cnx.Close();
    

     Todo está dentro de un Try, de modo que si salta algún error de conexión, el catch me deja mostrar el mensaje.

    Pero sigo sin entender por qué no me conecta al localhost LOCAL1, y siempre se conecta a mi localhost. Por más que lo especifique en la cadena de conexión. Y en caso de que se estuviera conectando al servidor, no debería dejarme entrar con la contraseña de mi servidor, ni debería poder ejecutar "USE bdb".

     

    ¿Alguna idea?


    Gabriela
    sábado, 5 de febrero de 2011 5:11

Respuestas

Todas las respuestas

  • Encontréla solución: al parecer, en Server tengo que poner una IP no un hostname... Raro, no?

    Sia lguien sabe de algo más, su aporte será bienvenido.


    Gabriela
    sábado, 5 de febrero de 2011 6:18
  • hola

    en realidad no tanto, puede que la red en al cual trabajes tenga problemas para resolver el nombre de la PC

    realiza un ping desde una consola de DOS al nombre de la PC donde esta MySql, valida que resuelva correctamente, sino lo ahce el servicio de DNS de la red tiene problemas para resolver nombres

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 5 de febrero de 2011 16:11
  • Funciona perfecto el ping. Y cuando me conecto con la IP en lugar del hostname está perfecto... Quizá el tema sea que la otra computadora tenga varias IP (por ejemplo una de la máquina y otra del virtualbox) y que al especificar el hostname esté haciendo referencia al virtualbox... Y como yo tengo virtualBox, y generalmente viene la misma IP por defecto para todos, al conectarme a su ip de virtualbox estoy conectandome a mi propia ip de virtualbox...

    En fin, un enredo, así que mejor recupero las IP y dejo escoger entre ellas.


    Gabriela
    sábado, 5 de febrero de 2011 20:34