Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: {_The_Alwar_} en 19 Julio 2005, 19:33 pm



Título: Errores: aplicacion que utiliza una base de datos MySQL
Publicado por: {_The_Alwar_} en 19 Julio 2005, 19:33 pm
Hola Gente!
Espero que me puedan ayudar porque necesito hacer un programa de facturacion y gestion, la base de datos estara en un servidor, y los puestos de trabajo se conectaran al servidor para obtener datos y guardarlos, estoy usando MySQL y ODBC. me baje un manual sobre como hace esto con odbc pero me esta resultando imposible, ya que la aplicacion me da errores en todos los lados..y segun el tutorial que me e bajado esta bien.
Bueno aqui les pongo el codigo, aki me conecto, pero da el error: 3667, Otra operacion inpide la ejecucion del programa

Código:
DBEngine.DefaultType = dbUseODBC
Set Espacio = Workspaces(0)
Set Base = Espacio.OpenConnection("Conexion1", dbDriverNoPrompt, False, "ODBC;DSN=Nombreconexion;")
Set TUsuarios = Base.OpenRecordset("Usuarios", dbOpenDynamic, dbRunAsync, dbPessimistic)
CmdCrearConexion.Enabled = False
Timer1.Enabled = True
->TUsuarios.MoveFirst<-

Haber si me pueden ayudar, otro erro que me da, si quito la linea del error, al pulsar el boton que mueve un registro es que el cursor no es valido


Título: Re: Errores: aplicacion que utiliza una base de datos MySQL
Publicado por: soplo en 19 Julio 2005, 20:56 pm
Hola
Para descartar cualquier problema de permisos utiliza un adodc y dale a probar conexión para saber que el adodc es capaz de leer y escribir allí.

Mysql podría estar denegando ese usuario o ese host.

También podrías tener mal instalado el odbc. Pudiste configurarlo para un sólo usuario o para usarse por cada usuario de la máquina. La primera pestaña, "User DSN" es solamente para un usuario específico y sólo puede ser usada en una computadora específica.

La Segunda pestaña, "System DSN" es utilizada para configurar el driver ODBC para todos los usuarios de la computadora.

Luego seleccionas MySQL de la lista y da un click a finish para instalar un datasource

Si el problema es de privilegios, haz lo siguiente en la shell
Código:
mysql --user=root mysql -p (entrar como root a mysql

Indicar que desde la IP 192.168.0.X el usuario: va a poder acceder a la Base de datos MySQL
Código:
INSERT INTO user (Host,User,Password) VALUES('192.168.0.X','Usuario',PASSWORD('clave')); 


Indicar que desde la IP 192.168.0.X el usuario puede acceder a la tabla: 'Tabla' con los privilegios de: Seleccionar, Insertar, Modificar, Borrar, Crear, y Borrar
Código:
INSERT INTO db       (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)  VALUES ('192.168.0.2','mytabla','gigi','Y','Y','Y','Y','Y','Y'); 


Actualizar privilegios
Código:
flush privileges;

También puedes usar phpMyAdmin, pero a mi nunca me sale bien hasta que entro en la shell y hago estas cosas.

Salir
quit

Por último para conectar desde visual basic con ADO
Código:
cnn_str = "driver={MySQL ODBC 3.51 Driver};server=localhost;uid=root;pwd=;database=mibasededatos;connection=adUseClient"
Set miconexion = New ADODB.Connection
miconexion.CursorLocation = adUseClient
miconexion.Open cnn_str

Como ves no uso DSN, así da menos problemas (por lo menos a mi)

Un saludo


Título: Re: Errores: aplicacion que utiliza una base de datos MySQL
Publicado por: {_The_Alwar_} en 19 Julio 2005, 21:20 pm
nada, lo de los permisos denegado, porque el mysql cuando le das a test lo hace satisfactoriamente, de todas formas, antes lo probe y no se porque me dejaba ver los registros, pero lo que no me deja es escribir uno nuevo, la tabla esta puesta para que sea de lectura/escritura eh! y del server, descarto que se del server, es del codigo...
que tengo que declarar para poner adobd??? porque yo lo intento y no me sale, k tengo que poner tb ActiveX data obejcts?