bueno estuve leyendo sobre como conectar MySQL con .net y termine haciendo esta funcion para conectar mi programa a la Db de MySQL:
Imports MySql.Data.MySqlClient
Dim MySQL_Connection As MySqlConnection
Public Sub MySQL_Connect(ByVal Host As String, ByVal User As String, ByVal Pass As String, ByVal DB As String)
If Not MySQL_Connection Is Nothing Then MySQL_Connection.Close()
Dim MySQL_Str As String
MySQL_Str = String.Format("server={0};user id={1}; password={2}; database=mysql; pooling=false", Host, User, Pass)
Try
MySQL_Connection = New MySqlConnection(MySQL_Str)
MySQL_Connection.Open()
Catch ex As Exception
MsgBox(String.Format("Error al conectar con la DB: {0}", ex.Message))
End Try
End Sub
el problema con esta funcion, es que no logro que se conecte mi programa con la DB. Salta el siguiente error: "Error al conectar con la DB: Unable to connect to any of the specified MySQLhosts."
alguien tiene alguna idea de como puedo solucionar esto?
El procedimiento que acabas de crear, pide como parámetro la DB y no la usas en ningún momento xD. Que valores les estas dando a los parámetros del procedimiento?
si pasa que probe 3 MySQL_Str diferentes
los dejo aca, perdon pero me habia olvidado:
MySQL_Str = String.Format("server={0};user id={1}; password={2}; database=mysql; pooling=false", Host, User, Pass)// este lo saque de un ejemplo de MySQL
MySQL_Str = String.Format("server={0}; username={1}; pwd={2}; database={3}; pooling=false", Host, User, Pass, DB)//no me acuerdo xD
MySQL_Str = String.Format("DataBase={0}; Data Source={1}; User Id={2}; Password={3}", DB, Host, User, Pass)//codigo de este foro
Hola:
Mira en la página 437 de este manual.
Ver manual. (http://electronica-pic.blogspot.com/2009/06/servidor-casero-apache-php-mysql.html)
Saludo.
Cita de: Meta en 30 Julio 2010, 14:07 PM
Hola:
Mira en la página 437 de este manual.
Ver manual. (http://electronica-pic.blogspot.com/2009/06/servidor-casero-apache-php-mysql.html)
Saludo.
hice lo que decia, que es basicamente lo que ya habia heco, pero sigue saliendo el mismo error =(
porque no haces el mysql_str directo como cadena en vez de darle ese formato
a parte le has colocado valores a esas variables Host, User, Pass, DB?
mysqldrivercs.dll?
saludos
Depura linea por línea el código, y ataja la excepción con un try catch, algo así:
try
{
//tu c'odigo aca
}
catch (Exception ex)
{
}
Cuando llegues a la línea donde está el catch, inspecciona la varialble ex, y revisa si tiene algo en el inner exception, y si el inner exception tiene y así, posiblemente te arroje un poco más de info sobre el error..
Esa info la posteas acá junto con el call stack..
Saludos!
Cita de: Ari-Slash en 30 Julio 2010, 21:31 PM
porque no haces el mysql_str directo como cadena en vez de darle ese formato
a parte le has colocado valores a esas variables Host, User, Pass, DB?
mysqldrivercs.dll?
saludos
es lo mismo la forma en la cual defina el contenido de MySQL_Str, sale el mismo error. Y si les di valores a las variables, uso Mysql.Data.dll (referencia e Import MySQL.Data.MySqlClient)
Cita de: D4N93R en 30 Julio 2010, 21:42 PM
Depura linea por línea el código, y ataja la excepción con un try catch, algo así:
try
{
//tu c'odigo aca
}
catch (Exception ex)
{
}
Cuando llegues a la línea donde está el catch, inspecciona la varialble ex, y revisa si tiene algo en el inner exception, y si el inner exception tiene y así, posiblemente te arroje un poco más de info sobre el error..
Esa info la posteas acá junto con el call stack..
Saludos!
lo del try ya estaba hecho,
excepcion:
ex.Menssage:
Unable to connect to any of the specified MySQL hosts.
ex.InnerException:
System.Net.Sockets.SocketException: No se ha podido establecer conexión ya que el equipo de destino ha denegado activamente dicha conexión 127.0.0.1:3306
en System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
en MySql.Data.Common.StreamCreator.CreateSocketStream(IPAddress ip, Boolean unix)
en MySql.Data.Common.StreamCreator.GetStream(UInt32 timeout)
en MySql.Data.MySqlClient.NativeDriver.Open()
puede ser que el problema no sea del codigo?
Exacto, el problema es el mysql..
" No se ha podido establecer conexión ya que el equipo de destino ha denegado activamente dicha conexión 127.0.0.1:3306"
Revisa lo siguiente:
- Primero que el puerto 3306 esté abierto
- Usa un cliente de MySql a vr si se puede conectar
- Verifica que la clase MySqlConnection use el mismo puerto que el servidor de Mysql
Por ahora es lo que se me ocurre..
Un saludo!
Cita de: D4N93R en 30 Julio 2010, 22:45 PM
Exacto, el problema es el mysql..
" No se ha podido establecer conexión ya que el equipo de destino ha denegado activamente dicha conexión 127.0.0.1:3306"
Revisa lo siguiente:
- Primero que el puerto 3306 esté abierto
- Usa un cliente de MySql a vr si se puede conectar
- Verifica que la clase MySqlConnection use el mismo puerto que el servidor de Mysql
Por ahora es lo que se me ocurre..
Un saludo!
perdon por mi ignorancia pero como hago esto?
"Verifica que la clase MySqlConnection use el mismo puerto que el servidor de Mysql" o sea puedo cambiar el puerto que usa MySQLConnection de alguna forma??? o siempre va a ser el 3306?
Nunca he usado esa librería que tu estás usando, en teoría debería haber alguna forma de saber que puerto está usando. No estoy muy seguro. Y en el archivo de Mysql que se llama my.ini puedes saber el puerto en donde está funcionando, aunque no creo que sea este el problema ya que el 3306 es el puerto por defecto, pero revisa que ese sea el que están usando los dos, tanto la librería como el server.
haber que te parece es un modulo de clase ya configurado para MySQL.
http://foro.elhacker.net/net/ado_y_vbnet-t300702.0.html;msg1491070#msg1491070
Dulces Lunas!¡.
solucionado, el problema estaba en que el puerto mysql era el 3308, cuando lo cambie funciono a la perfeccion. gracias por su ayuda.
porque te conectas con esa libreria? si te podes conectar directamente con las librerias del .NET
Cita de: seba123neo en 31 Julio 2010, 06:36 AM
porque te conectas con esa libreria? si te podes conectar directamente con las librerias del .NET
porque cuando empeze a leer por google buscando MySQL y .net encontre muchos ejemplos usando esta libreria o System.Data.odbc, y como al usar odbc no terminaba de entender como funcionaba y lograr la conexión, decidi usar esta libreria.