Autor
|
Tema: problema MySQL vb.net (Leído 10,427 veces)
|
CH4ØZ
Desconectado
Mensajes: 108
|
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?
|
|
|
En línea
|
no me juzguen si no me conocen
|
|
|
Shell Root
|
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?
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
CH4ØZ
Desconectado
Mensajes: 108
|
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
|
|
|
En línea
|
no me juzguen si no me conocen
|
|
|
|
CH4ØZ
Desconectado
Mensajes: 108
|
Hola: Mira en la página 437 de este manual. Ver manual.Saludo. hice lo que decia, que es basicamente lo que ya habia heco, pero sigue saliendo el mismo error =(
|
|
|
En línea
|
no me juzguen si no me conocen
|
|
|
Ari Slash
|
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
|
|
|
En línea
|
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
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!
|
|
|
En línea
|
|
|
|
CH4ØZ
Desconectado
Mensajes: 108
|
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) 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?
|
|
|
En línea
|
no me juzguen si no me conocen
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
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!
|
|
|
En línea
|
|
|
|
CH4ØZ
Desconectado
Mensajes: 108
|
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?
|
|
|
En línea
|
no me juzguen si no me conocen
|
|
|
|
|