FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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! |
#2
|
||||
|
||||
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 // Saludos |
#3
|
||||
|
||||
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
|
#4
|
|||
|
|||
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! |
#5
|
|||
|
|||
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!!!! |
#6
|
||||
|
||||
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|| |
#7
|
|||
|
|||
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! |
#8
|
||||
|
||||
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|| |
|
|
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 21:38:30 |
Conectar aplicacion delphi con servidor MySQL web ?? | JoysticK | MySQL | 3 | 23-08-2008 14:28:11 |
Conectar aplicación Delphi con MySQL | Marciano | MySQL | 6 | 02-09-2006 21:08:32 |
Como Conectar Delphi con MySQL? | jimmyx017 | SQL | 1 | 03-10-2005 03:52:53 |
Conectar Aplicación Delphi a MySql mediante ODBC | Nasio | MySQL | 11 | 26-07-2004 13:42:21 |
|