Foros del Web » Programación para mayores de 30 ;) » .NET »

conector .net 1.0.7 con mysql y .net 2003

Estas en el tema de conector .net 1.0.7 con mysql y .net 2003 en el foro de .NET en Foros del Web. necesito saber que codigo debo utilizar en mi aplicación, para acceder ala base de datos en mysql, ya tengo el conector 1.0.7 instalado y las ...
  #1 (permalink)  
Antiguo 25/08/2008, 23:11
Avatar de yoxs  
Fecha de Ingreso: junio-2008
Mensajes: 46
Antigüedad: 16 años, 8 meses
Puntos: 0
conector .net 1.0.7 con mysql y .net 2003

necesito saber que codigo debo utilizar en mi aplicación, para acceder ala base de datos en mysql, ya tengo el conector 1.0.7 instalado y las referencias, pero el codigo no lo se exactamente, utilizo : Dim DB_RED As MySqlDataReader para recibir la Ejecucion dela consulta de otro metodo, pero nisiquiera me acepta esa variable DB_RED. SI PUDIERAN ENVIARME EJEMPLOS DE CODIGO UTILIZANDO ESTE CONECTOR [email protected] gracias
  #2 (permalink)  
Antiguo 26/08/2008, 06:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses
Puntos: 2658
Respuesta: conector .net 1.0.7 con mysql y .net 2003

1. Crear la conexión (objeto de clase MySqlConnection) y abrir la conexión (método MySqlConnection.Open):
Código:
    ' CONECTAR a la base de datos
    Public Function conectar(ByVal vServer As String, ByVal vBase As String, ByVal vUser As String, ByVal vPwd As String, ByVal oPort As Int16) As Boolean
        Dim strCx As String
        If Not conexion Is Nothing Then
            If conexion.State = 1 Then
                Return True
            ElseIf conexion.State = ConnectionState.Closed Then
                conexion.Open()
                Try
                    sentencias = New MySqlCommand("SET SESSION SQL_BIG_SELECTS=1;", conexion)
                    sentencias.ExecuteNonQuery()
                Catch ex As Exception
                    MessageBox.Show("El servidor responde: " & ControlChars.CrLf & ex.Message, "Error de conexión principal", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
                Return True
            Else
                Return False
            End If
        Else
            Try
                strCx = "Database=" & vBase & ";Data Source=" & vServer & ";User Id=" & vUser & ";Password=" & vPwd & ";Port=" & oPort.ToString & ";CharSet=utf8;Pooling=false;"
                conexion = New MySqlConnection(strCx)
                conexion.Open()
                If conexion.State = ConnectionState.Open Then
                    DBstatus = 1
                End If
            Catch ex As MySqlException
                Select Case ex.Number
                    Case 0
                        MessageBox.Show("El servidor no responde." & ControlChars.CrLf & "Consulte con el Administrador de Sistemas", "Error de conexión principal", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Case 1226
                        MessageBox.Show("El usuario ingresado ya se encuentra logueado en otro puesto.", "Error de usuario en conexión principal", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                    Case 1045
                        MessageBox.Show("El nombre de usuario o la clave son incorrectas." & ControlChars.CrLf & "Vuelva a ingresarlas", "Error de conexión principal", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Select
                DBstatus = 0
                Return False
            End Try
            Return True
        End If
    End Function
2. La operación de lectura dependerá de qué datos quieras obtener y/o de que forma quieras manipularlos:
Ejemplos:
' EJECUTA una sentencia recibida y devuelve true o false según lo que realizó o no
Código:
    Public Function Execute(ByVal strSQL As String) As Boolean
        Dim sentencias as String = New MySqlCommand(strSQL, conexion)
        Try
            sentencias.ExecuteNonQuery()
            If flagOpen = True Then
                conexion.Close()
            End If
            Return True
        Catch ex As MySqlException
            Return False
        End Try
    End Function
' EJECUTA una lectura de una TABLA recibida y devuelve una TABLA. Requiere un MySqlDataAdapter
Código:
    Public Function ExecuteReadFull(ByVal Sql As String) As DataTable
        Dim sSQL As String
        Dim SetDatos As New DataSet
        Try
            Dim adapter As MySqlDataAdapter = New MySqlDataAdapter(Sql, conexion)
            adapter.Fill(SetDatos, "TABLA_SQL")
            If flagOpen = True Then
                conexion.Close()
            End If
            Return SetDatos.Tables(0)
        Catch ex As MySqlException
            Return Nothing
        End Try
    End Function

Hay mucho más, pero esto te puede orientar.

Nota final: Estos códigos están extraídos de una aplicación en funcionamiento que yo diseñé... Funcionan.
Tip: Verifica si la conexión está activa SIEMPRE antes de ejecutar algo en la base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/08/2008, 14:21
Avatar de yoxs  
Fecha de Ingreso: junio-2008
Mensajes: 46
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: conector .net 1.0.7 con mysql y .net 2003

muchas gracias, habia avanzado un poco solo que estaba enviando el string que contiene el nombre de la bd, servidor y demas con formato erroneo, pero creo que tu codigo me servira de mucho muy amable luego te cuento
  #4 (permalink)  
Antiguo 26/08/2008, 15:17
Avatar de yoxs  
Fecha de Ingreso: junio-2008
Mensajes: 46
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: conector .net 1.0.7 con mysql y .net 2003

hola de nuevo jeje..me sirvio de mucho tu ayuda...pero no se porque solo se conecta
con localhost y no con el nombre de mi servidor...y le pongo el puerto por defecto....no se si fue la instalacion de mysql....si supieras me vendria muy bien tu ayuda
  #5 (permalink)  
Antiguo 26/08/2008, 17:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses
Puntos: 2658
Respuesta: conector .net 1.0.7 con mysql y .net 2003

Si el string de conexión está bien escrito (cualquier duda consultar en Connection Strings), esto es:
Código:
Server=dirIpServidor;Database=DataBaseName;Uid=UserName;Pwd=PasswordUser;
o bien indicando el puerto:
Código:
Server=dirIpServidor;Port=3306;Database=DataBaseName;Uid=UserName;Pwd=PasswordUser;
entonces el problema puede ser de firewalls.

Si estás tratando de acceder a un server remoto, asegúrate de tener;
1. Permiso de conexión remota para ese usuario.
2. Que el puerto 3306 esté habilitado en el FireWall.
3. Si estás haciéndolo dentro de una LAN local, verifica que los routers tengan abierto el puerto.
4. Si estás trabajando hacia Internet, verifica si tu salida es por un proxy, o si la entrada al server es por un proxy. Actuan de Firewalls, al igual que los routers de salida.

Primero esto, después vemos...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 27/08/2008, 11:00
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años, 2 meses
Puntos: 53
Respuesta: conector .net 1.0.7 con mysql y .net 2003

mira para facilitarte un tanto el trabajo mirá este librería

http://sourceforge.net/projects/adodb-mysql

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:24.