• Domingo 22 de Diciembre de 2024, 14:02

Autor Tema:  Conexión Con Mysql  (Leído 3667 veces)

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Conexión Con Mysql
« en: Domingo 3 de Junio de 2007, 19:00 »
0
Saludos, lamento el post, sé que ya hay post sobre conexión a MySQL, estuve viendo estos:

Post 1
Post 2
Web de MySQL

Pasando a bases de datos libres, pues tengo esto:


Esta es la configuración en ODBC:


Y este es el código con el que trato de conectarme:
Código: Text
  1.  
  2. 'Referencia: ADO 2.8
  3. Dim conexdb As ADODB.Connection
  4. Dim rs As ADODB.Recordset
  5.  
  6. Private Sub Form_Load()
  7.     Dim Servidor As String
  8.     Dim BaseDatos As String
  9.     Dim Usuario As String
  10.     Dim Password As String
  11.     Dim SQL As String
  12.     Dim Conexion As String
  13.    
  14.     Servidor = "localhost"
  15.     BaseDatos = "agenda_db"
  16.     Usuario = "admin"
  17.     Password = "123456789"
  18.     SQL = "Select * From agenda_tb"
  19.    
  20.     Conexion = "DRIVER={MySQL ODBC 3.51 Driver};"
  21.     Conexion = Conexion & "SERVER=" & Servidor & ";"
  22.     Conexion = Conexion & "PORT=3306;"
  23.     Conexion = Conexion & "DATABASE=" & BaseDatos & ";"
  24.     Conexion = Conexion & "USER=" & Usuario & ";"
  25.     Conexion = Conexion & "PASSWORD=" & Password & ";"
  26.     Conexion = Conexion & "OPTION=3;"
  27.    
  28.     Set conexdb = New ADODB.Connection
  29.         conexdb.ConnectionString = Conexion
  30.         conexdb.CursorLocation = adUseClient
  31.         conexdb.Open
  32.    
  33.     If conexdb.State > 0 Then
  34.         Set rs = New Recordset
  35.         rs.Open SQL, conexdb, adOpenStatic, adLockOptimistic
  36.     Else
  37.         MsgBox "No se ha podido realizar la Conexión con la Base de Datos", vbInformation, "Fallo la Conexion"
  38.         Unload Me
  39.     End If
  40. End Sub
  41.  
  42.  

Pero me genera el siguiente error:


En la ventana de conexión ODBC de MySQL no puedo asignar una Database, ese combo está vacio, si trato de seleccionar, como no tiene nada saca este aviso:
Request returned with SQL_ERROR. Si escribo le base de datos no pasa nada.

El código lo veo lógico, pero algo hace que no pueda conectarse, por favor ves algo que ocasiona la falla de conexión, soy virgen con mysql  :P
Si esto es Leído por accidente, induzca al vomito

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Conexión Con Mysql
« Respuesta #1 en: Domingo 3 de Junio de 2007, 22:09 »
0
El usuario admin existe?

La contraseña es correcta?

tiene los privilegios adecuados?

y tiene permitido el acceso desde localhost?


El usuario administrado de MySQL se llama root ese utilizarias para crear un nuevo usario, con cual accesaste en la linea de comando?


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Conexión Con Mysql
« Respuesta #2 en: Domingo 3 de Junio de 2007, 22:55 »
0
Citar
El usuario administrado de MySQL se llama root ese utilizarias para crear un nuevo usario, con cual accesaste en la linea de comando?

Hmm... así que no es el login de mi cuenta en windows sino que en mysql es por default root, bueno la terminal de mysql lo único que pide es password, no login/usuario.

Ahora si corre, era eso, root, no tengo experiencia con mysql, por eso de que era virgen, me falta experiencia  :P

muchas gracias Tanori, es casi seguro que probablemente nunca necesitas alguna ayuda, pero en caso que llegue ese día y pueda ser de herramienta de ayuda, ahí estare, dalo por hecho.  :comp:

 :hola:
Si esto es Leído por accidente, induzca al vomito

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Conexión Con Mysql
« Respuesta #3 en: Domingo 3 de Junio de 2007, 23:31 »
0
:P

Claro todos necesitamos ayuda, todos los dias

Seria conveniente que no usaras el root ya que es el administrador de MySQL si alguien llega a obtenerlo  :blink:  puede hacer lo que quiera en el server mejor deverias de crear un usuario con los permisos solo para la base de datos en cuestion :)


http://mysql.conclase.net/curso/index.php?cap=013


otra cosa, nunca dejes el ODBC configurado con contraseña pues esta se guarda en el registro de windows  en texto plano :devil:

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Conexión Con Mysql
« Respuesta #4 en: Domingo 3 de Junio de 2007, 23:52 »
0
Citar
Seria conveniente que no usaras el root ya que es el administrador de MySQL si alguien llega a obtenerlo  :blink:  puede hacer lo que quiera en el server mejor deverias de crear un usuario con los permisos solo para la base de datos en cuestion  :)

http://mysql.conclase.net/curso/index.php?cap=013

uhmm... faltaria conocer el password para eso pero ahora con esto de...
Citar
otra cosa, nunca dejes el ODBC configurado con contraseña pues esta se guarda en el registro de windows en texto plano  :devil:

Caramba :huh: increible, en efecto voy a reacomodar eso como me indicas para no lamentarme luego.

Gracias compadre, ya te debo bastante, como le dije en una ocasion a un dueño de kiosquito de comida, ponlo todo en mi cuenta :lol:

 :good:
Si esto es Leído por accidente, induzca al vomito

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Conexión Con Mysql
« Respuesta #5 en: Lunes 4 de Junio de 2007, 02:36 »
0
Perdon por la pregunta pero si yo ya cree un usuario nuevo el cual será con el que me conectare, ¿solo coloco el nombre de usuario sin la clave en la ventana ODBC? (por eso de que se guarda tal cual como uno la ha escrito sin encriptarla en el registro de windows).

Borrando rastro o existencia de usuarios anonimos de la tabla user de la bd mysql:
mysql> DELETE FROM user WHERE Host='localhost' AND User='';
Veo que el root siempre queda ahí, no se borra, fuiiiiuu! que bueno  :P

Creando nuevo usuario (por default va a la tabla user) mi Bd no tiene tabla user:
GRANT USAGE ON agenda.contactos To pepe Identified by '12345';
Este usuario tendría todos los privilegios (insert, update, delete, etc) de la tabla contactos de la bd agenda solo de esa tabla.

De todas formas probé cambiando root por el nuevo usuario y su clave en la ventana ODBC y la conexión es aceptada, pero al colocar ese usuario y su clave en el código de VB no se conecta, no sé porque, por allá si y por aqui no.  :unsure:

EDITANDO:
Perdon ya supe porqué, el usuario está creado pero aun no tenia privilegios como creía.
GRANT ALL ON agenda.contactos To pepe@localhost Identified by '12345';

Ahora si funciona tanto por la ventana ODBC como desde VB.
Si alguien llega a tener estas dudas, aquí está para quitar esas dudas, archivado en el foro.  B)
Si esto es Leído por accidente, induzca al vomito

hdr

  • Miembro MUY activo
  • ***
  • Mensajes: 128
    • Ver Perfil
Re: Conexión Con Mysql
« Respuesta #6 en: Lunes 4 de Junio de 2007, 07:08 »
0
yo creo q es mejor usar un driver oledb para que no te compliques con odbc, ademas deberia funcionar mas rapido y cuando hagas un instalador no se va a complicar creando conexiones odbc solo registra el driver oledb y listo

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Conexión Con Mysql
« Respuesta #7 en: Lunes 4 de Junio de 2007, 14:47 »
0
Si, suena mucho mejor asi como dices hernanvid, si es más rápido y si solo es colocar el driver empaquetado en el instalador, entonces me iré por esa vía, comenzaré a buscar información sobre ello.  :good:
Si esto es Leído por accidente, induzca al vomito