Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-04-2010
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 16
pablopessoa Va por buen camino
Como conectar mi aplicacion a MySQL ?

Hola gente, lamento molestarlos con algo que puede ser medio extenso.. pero la verdad estoy en blanco con esto.
Yo tengo una aplicacion que trabaja con una BD en Access, solo que ahora quiero hacerla trabajar con MySQL.
Trabajar con Access me resultaba muy sencillo, tenia un ADOConnection ligada a la base .mdb y listo, ya estaba conectado.
Ademas, Access me permitia ir mirando las inserciones que hacia en la tabla para comprobar que este todo bien.
Bueno ahora viene la cosa, baje MySQL 5.1 con su conector ODBC y los instale. Tambien baje la aplicacion AccessToMySQL y converti la base.
Ahora me surgen un millon de cosas que no entiendo.
El programa AccessToMySQL me creo una carpeta donde figuran tres archivos por cada tabla que tenia (*.frm, *.MYD y *.MYI ) que no puedo ver ni abrir.
Despues trate de conectar la aplicacion de la misma manera que con access, con un ADOConnection y como era de esperar... no pude.
Puede usarse una base de datos MySQL de forma similar que con Access?
Como hago para conectar la base MySQL a mi aplicacion?
y lo que mas me intriga, yo pense que convertir la base de access a mysql me creaba un archivo de BD (*.mdb en el caso de access ).
Bueno en fin, como veran estoy re perdido y no se como usar MySQL en mi aplicacion.
Alguno me podra orientar y ayudarme a realizarlo?
De mas esta decir que gracias al menos por leerme.
Saludos a todos!
Responder Con Cita
  #2  
Antiguo 30-04-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, realmente no estás muy lejos del objetivo. El que no puedas abrir los archivos .frm, .myd y .myi no es de preocuparse, como no lo es en general con ningún motor. Es decir, esos archivos no son más que el medio físico en que se almacenan los datos, pero es el motor el que se encarga de manejarlos.

Para usar ADO con el conector ODBC simplemente tienes que especificar la cadena de conexión adecuada. Por ejemplo:

Código:
DRIVER={MySQL ODBC 3.51 Driver};SERVER=server;DATABASE=database;USER=user;PASSWORD=password;OPTION=3
donde sustituyes server, database, user y password por los datos apropiados. Esto era para el driver 3.51, pero creo que es similar para el 5.1. De todas formas, en el sitio de MySQL explican cómo usarlo.

// Saludos
Responder Con Cita
  #3  
Antiguo 30-04-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow Agregando un poquito

Bueno... primero que nada la forma de trabajar de MySQL es diferente que Access , MySQL trabaja usando protocolo TCP/IP(tambien puede trabajar con otros) , ésto significa que ya no hay que especificar la ruta del archivo donde se encuentra la base de dato tal como se hace en Access, sino mas bien hay que especificar un puerto atraves del cual se va a conectar la aplicacion cliente con el servidor de base de datos, asi que no importa donde se encuentre almacenado los archivos de nuestra base de dato,, en éste caso lo que hay que preocuparse es que se configure bien el Host( la IP o Nombre de la maquina donde se encuentre nuestro servidor MySQL) y el puerto en el cual nuestro servidor de Base de Dato está escuchando. Ésto es lo que normalmente se llama Socket.
En cuanto a la migracion de Access hacia MySQL te recomiendo bajarte el paquete de herramientas(Gui-tools) que el propio MySQL tiene para esos menesteres, en dicho paquete viene una herramienta llamada "MySQL Migration Tool". con la cual puedes hacer la migración hacia MySQL..
Te recomiendo instalar todas las herramientas, ya que tambien viene "MySQL Query Browser" que sirve para hacer consultas, crear bases de datos, tablas, procedimientos almacenados,etc. y tambien viene "MySQL Administrator" que sirve para administrar usuarios,obtener informacion del servidor,ver las conexiones con el servidor,hacer y restaurar backup,etc,etc.
Con éste paquete creo que te es, más que suficiente para administrar MySQL, te lo recomiendo.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #4  
Antiguo 01-05-2010
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 16
pablopessoa Va por buen camino
Muchas gracias por las respuestas!
Ya estoy bajando el gui-tools.
Pero, supongamos que quiero instalar mi aplicacion en otra pc ( que de hecho es lo que tengo que hacer), que cosas necesito instalar o transportar en la otra pc?
Y si quiero ver como se cargo un registro para controlar que haya cargado todo bien? como puedo ver el contenido de la tabla ?
Muchas gracias nuevamente y saludos!
Responder Con Cita
  #5  
Antiguo 02-05-2010
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 16
pablopessoa Va por buen camino
Gracias!!
Hice las cosas que me dijeron y por fin pude hacer funcionar la base de datos.
La probe asociando una tabla a un DBGrid y trae las cosas perfecto.
Ahora lo que estoy probando son las librerias ZeosLib que segun lei, te permite realizar la conexcion sin realizar un dns.
Pero tengo una nueva consulta.
Supongamos que quiero llevar mi aplicacion a otra pc .... como hago para que se levante la base con MySQL en la otra pc?
Segun lei, basta con usar la componente de Zeos, copiar una dll que te da MySQL en el system32 de la maquina del cliente y copiar tb la base de datos y con eso estaria.
Pero observando yo como base de datos tengo una carpeta llena de archivos ( una por cada tabla de la base de datos). No hay forma de transportar la base en un solo archivo y no como una carpeta llena de archivos que muestra todas mis tablas?

Saludos y muchisimas gracias por la ayuda!!!!
Responder Con Cita
  #6  
Antiguo 03-05-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Estas pensando al estilo Access. MySQL es un servidor de base de datos por lo que no es necesario que esté instalado en todas las pcs que vayan a conectarse a la BD. Es decir, primero instalas el servidor con sus tablas y todo. Y luego en tu programa únicamente basta indicar la direccion TCP/IP del servidor y se podrá conectar inclusive aunque el servidor no se encuentre en la misma red. La base de datos es un "ente abstracto" pues lo que ve tu programa (tablas, indices, etc.) en realidad pueden ser uno o varios archivos corriendo en el servidor, el software del servidor es el que se encarga de hacer la "traducción" digamos. NO es recomendable tratar de meterse con los archivos físicos que maneja el motor pues puedes echar a perder todo con una sola acción.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 03-05-2010
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 16
pablopessoa Va por buen camino
gracias AzidRain por la respuesta
el problema es que mi aplicacion si es necesario que la base se instale en cada cliente.
Te explico: cada cliente debera tener la base en un equipo ( puede tener una red local o no). Luego existe una copia de la base en un servidor web, entonces todos los clientes comparten su informacion por medio de esa base que esta en el servidor web.
Por lo tanto me resulta necesario saber como hacer para instalar mi aplicacion en una maquina del cliente y que este tenga la base de datos. El problema es que no se de que manera hacer mas sencilla la tarea.
Es decir, segun lei hay una manera de instalar la base en un cliente mediante una dll que te da MySQL, lo cual te evita tener qeu instalar el motor de base de datos.
Pero no entendi nada de lo que dice.
Aclaro que la aplicacion trabaja asi no por eleccion mia sino de la persona que me lo encargo.
Saludos y muchas gracias!
Responder Con Cita
  #8  
Antiguo 03-05-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Pues insisto, es un diseño erróneo, el mismo servidor web puede sin problemas interactuar con la MISMA base de datos MySQL sin ningún problema pa los demás. Me parece que aún no tienes claro como funciona el concepto de bases de dato cliente servidor, ya que precisamente un servidor web puede sin ningún problema acceder a un servidor MySQL (estando o no en el mismo servidor o inclusive en el mismo lugar).

Ya leyendo mejor dices que así te lo pidieron, pero pienso que desconocías como funciona MySQL y lo servidores de bases de datos comunes. Aún así no es culpa tuya, en nuestro campo el cliente "no siempre tiene la razón" porque "no siempre sabe la totalidad de lo que hay que saber. El problema que has mencionado se resuelve sin ningún problema nomás siguiendo los esquemas de cliente-servidor aún utilizando web.

En pocas palabras...para que estar actualizando bases de datos (que en ocasiones pueden llegar a ser de millones de registros) entre varias terminales cuando cada terminal puede decirle al servidor que actualice tales o cuales registros (unos pocos).

Te recomiendo que hables con tu cliente y te diga que es lo que quiere, no te fíes de sus departamentos de "sistemas" que muchas veces no saben más que como lo han llevado a cabo ellos y que evalúes bien si te va a redituar meterte en tantas honduras solo por que el cliente así lo quiere, y mira que hay veces que no tienes de otra.

Saludos y aqui sigo por si algo necesitas.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conectar con una aplicacion a un servidor MySQL externo Drake Lazarus, FreePascal, Kylix, etc. 3 16-03-2010 20:38:30
Conectar aplicacion delphi con servidor MySQL web ?? JoysticK MySQL 3 23-08-2008 13:28:11
Conectar aplicación Delphi con MySQL Marciano MySQL 6 02-09-2006 20:08:32
Como Conectar Delphi con MySQL? jimmyx017 SQL 1 03-10-2005 02:52:53
Conectar Aplicación Delphi a MySql mediante ODBC Nasio MySQL 11 26-07-2004 12:42:21


La franja horaria es GMT +2. Ahora son las 16:10:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi