| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Duckman Cdt

Registrado: 20 Sep 2005Mensajes: 18Ubicación: Oaxaca
|
Publicado: Jue 22 Dic, 2005 10:00 pm Asunto: MySQL conexion Cliente/Servidor |
|
|
Hola que tal, tengo hecha una plicacion la cual usa MySQL 4.1, sin embargo quiero que esta aplicacion este en red (LAN) en donde solamente tenga que instalar en el servidor todo lo referente a la base de datos. Por otro lado, los clientes solo tendran instalada la aplicacion y haran referencia a la base de datos del servidor. ¿se puede hacer esto...?
si es asi les ageadeceria y mucho me puedieran echar la mano, con un ejemplo muy sencillo.
He visto esto hacerlo en Visual con Acess, sin embargo prefiero mejor utilizar Builder y MySQL. Saludos
PD: pregunto con el fin de no instalar en cada servidor el manejador de la base de datos y su correspondiente odbc. |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Jue 22 Dic, 2005 10:50 pm Asunto: |
|
|
Que tal Duckman,
Si, si es posible hacer lo que necesitas...
Primero que nada bajate el conector ODBC, este debe estar instalado en los clientes.
http://dev.mysql.com/downloads/connector/odbc/3.51.html
Lo siguiente es conectarte con el server, pero bueno ésto depende de los componentes que estes utilizando. ¿Puedes darnos más detalles acerca de que componentes utilizas? y con gusto te ayudamos.
Saludos _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
Duckman Cdt

Registrado: 20 Sep 2005Mensajes: 18Ubicación: Oaxaca
|
Publicado: Vie 23 Dic, 2005 1:12 am Asunto: |
|
|
| Que tal Buildero gracias por responder, pues mira no se mucho de Builder pero uso los componentes ADO si es que te refieres a esos, y la conexion la hago utilizando el "Inspertor de Objetos", aun que creo que lo mas recomendable seria hacerla desde codigo, pero sinceramente no se como. Si deseas saber algo mas me avisas por fa. |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Lun 26 Dic, 2005 4:50 pm Asunto: |
|
|
Que tal Duckman,
Para hacer referencia a tu base de datos a través de una red necesitas especificarlo en la cadena de conexión.
Ejemplo utilizando los compenentes ADO a través de ODBC.
Nota: Debes crearte un DSN de sistema en cada cliente para poder utilizar la siguiente cadena de conexión. Este DSN, de preferencia debe contener lo mínimo, ya que los datos los especificaremos a través de la cadena de conexión.
| Código: |
ADOConnection1->ConnectionString =
"Provider=MSDASQL.1;"
"Persist Security Info=False;"
"Data Source=TestMySQL;" //Nombre del origen de datos -- igual al nombre del DSN
"Extended Properties=DATABASE=MiBaseMySQL;" //Nombre de tu base de datos contenida el server de MySQL
"OPTION=0;"
"PORT=3306;" //Puerto
"SERVER=198.168.0.144;" //La dirección IP del server (ejemplo)
"UID=test3;" // Nombre de usuario
"PASSWORD=test"; // Password
ADOConnection1->Open();
|
Con solo cambiar la IP del server, te podrás conectar a través de la red, y solo necesitas instalar en cada cliente el driver ODBC para poder realizar la conexion.
Nota: Tu BD en el server debe estar correctamente configurada para que los clientes puedan conectarse... es decir que debes agregar las IP's que tendrán acceso al server. La BD se llama "mysql" y la tabla "db", en esta tabla debes agregar las IP's de los clientes, un nombre de usuario y algunos permisos que debes configurar.
Para mas detalles checate la ayuda del MySQL para la administracion de la BD "mysql".
Saludos _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
Duckman007 Ens


Registrado: 12 May 2007Mensajes: 45Ubicación: Oaxaca, Mexico
|
Publicado: Sab 12 May, 2007 7:20 am Asunto: |
|
|
Que tal Buildero
Fijate que intente lo que describes, pero desafortunadamente no me resulta. Mira pongo en mi forma un ADOConnection1 un ADOTable1 un DataSource1 y un DBGrid1 con la finalidad de hacer una pequeña prueba para visualizar algunos datos registrados en mi base de datos. Al momento de poner la secuencia de instrucciones en la forma y al ejecutar este mismo me sale el siguiente mensaje:
Can't conect to MySQL server on 192.168.1.101 (10060)
MySQL es el nombre mi Data Source. Modifique los parametros tal cual estan en mi base de datos (los que pones en comentario "//") y desafortunadamente nada, al igual que todo lo que mencionas de la BD en el server debe estar correctamente configurada.
Te agradeceria y me echras una mano por fa. Solo necesito un pequeñisimo ejemplo para que pueda ver los datos que se encuentran en la BD del server.
De antemano gracias... |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Dom 13 May, 2007 12:23 am Asunto: |
|
|
Hola Duck
Donde tienes la base de datos? es local o esta en un servidor al cual accedes por red?
Digo esto porque el problema puede estar en la conexion, en la red o en las direcciones IP.
Revisalo y nos cuentas. _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Dom 13 May, 2007 12:27 am Asunto: |
|
|
Otra vez yo.
Acordandome un poco, el Conector ODBC de MySQL te permite hacer un test de conexion. Cuando tu vas al Administrador de Origenes de Datos ODBC y creas un nuevo DSN de usuario, la configuracion del Conector ODBC te permite hacer una prueba de conexion y te indica si el enlace con la base de datos se encuentra bien.
Si esto te funciona, entonces uno puede empezar a escribir codigo sabiendo que el cliente conecta bien con servidor y cualquier error que haya en la conexion se encuentra en nuestro programa.
Puedes revisar estas sugerencias y nos cuentas. _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Dom 13 May, 2007 6:17 pm Asunto: |
|
|
Que tal Duckman007, te recomiendo que realices las sugerencias de Jacko y nos cuentas lo que has logrado.
Saludos! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
Duckman007 Ens


Registrado: 12 May 2007Mensajes: 45Ubicación: Oaxaca, Mexico
|
Publicado: Lun 14 May, 2007 8:10 pm Asunto: |
|
|
| Hola que tal, pues la DB la tengo instalda en ambas maquinas (en la mia y en otra que se encuentra en red) La DB que se encuentra en mi maquina si se conecta a la perfeccion cuando hago una aplicacion local, pero cuando hago una aplicacion que se conecte a la DB remota me sale el mensaje que les comento. La conexion en red es por medio de un router y las direcciones IP son dinamicas (ya que cuando hago la conexion me asesugo que IP tiene la maquina a la cual deseo que se conecte). Lo que comenta Jacko de lo de hacer un test con la conexion de la BD, eso si lo realiza con exito en cada maquina. Pero como le hago para que mi aplicacion se conecte con la DB remota. Saludo |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Mar 15 May, 2007 4:55 am Asunto: |
|
|
Bueno Duck, si ya conecta tanto a la BD local como la remota por el test del conector ODBC de MySQL, entonces creo que es hora que nos empieces a mandar el codigo que estas utilizando.
Yo utilizo el componente TDatabase (me parece mas facil), pero tambien lo puedes hacer por ADO, como dices al comienzo del hilo.
Postea el codigo, no solamente donde creas que esté el error, a veces en los lugares menos pensados hallamos la solucion....
Gracias! _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Duckman007 Ens


Registrado: 12 May 2007Mensajes: 45Ubicación: Oaxaca, Mexico
|
Publicado: Mar 15 May, 2007 9:23 pm Asunto: |
|
|
Hola que tal, mira no se como hacer el test para conectarme a una DB remota, lo que si he podido hacer es hacerlo localmente con cada ordenador pero no de mi ordenador a una DB remota.
La aplicacion que estoy realizando es muy sencilla y el codigo es exactamente el mismo que pone buildero exepto por la IP, el nombre de origen de la DB y el nombre de la DB.
Soy principiante en esto de las conexiones remotas es por eso les pido su ayuda y me den un pequeñisimo codigo que me facilite hacer una conexion remota. Si necesitan de mas informacion con gusto se las proporcionare. Saludos |
|
| Volver arriba |
|
 |
Duckman007 Ens


Registrado: 12 May 2007Mensajes: 45Ubicación: Oaxaca, Mexico
|
Publicado: Jue 17 May, 2007 4:10 am Asunto: |
|
|
Hola que tal buildero y yacko,
estan intentando y buscando algo parecido, en el foro me tope con una aplicacion que hace la conexion remota pero a una DB Access utilizando componenetes ADO, ya lo realice y me salio perfecto a la primera. Mi pregunta es, se podra hacer lo mismo que hice con Access pero ahora con MySQL....? ya trate de hacerlo pero no le encontre, les agradeceria y me ayudaran Por fa. Saludos
...Y estas en contacto |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Jue 17 May, 2007 3:00 pm Asunto: |
|
|
Se me hace muy raro Duckman, ya que el código para la conexión es el que te he mencionado arriba.
Seria bueno que nos mencionaras que errores te envía al tratar de conectarse, eso nos daría más pistas.
Saludos! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Jue 17 May, 2007 6:50 pm Asunto: |
|
|
Hola Duckman
Te voy a dar las instrucciones paso por paso para que realices la prueba de conexion remota por medio del Conector ODBC para MySQL. Se supone que ya lo has descargado he instalado en el equipo cliente. Ahora, tambien se supone que tienes el servidor MySQL corriendo y funcionando en otra maquina dentro de la misma red, que sabes la IP de esa maquina y sabes el usuario y contraseña para ingresar a la Base de Datos. ok?
1. Inicio - Panel de Control - Herramientas administrativas - Origenes de Datos ODBC
2. Te aparece una ventana
3. En la pestaña DSN de Usuario seleccionas Agregar (si ya has creado otros borralos o simplemente no utilices el mismo nombre)
4. Aparece otra ventana
5. En esta, te desplazas y seleccionas MySQL ODBC 3.51 Driver (depronto tienes otra version pues la seleccionas)
6. Click en Finalizar (pero hasta ahora empieza, jejeje)
7. Se te despliega otra ventana que tiene el logo de MySQL en la parte superior.
8. En Data Source Name, le pones el nombre que quieras a la conexion. (Preferiblemente en minusculas, sin espacios, ni caracteres especiales)
9. Description la puedes dejar en blanco, es opcional.
10. En Server escribes la direccion IP, de la maquina remota donde se encuentra la base de datos. (Solo numeros y puntos, sin espacios.)
11. En User el usuario.
12. En password la contraseña.
13 Y ahora... si todo esta bien, debes dar clic en la flecha de Database, esta maquina cliente intenta conectarse con el motor en el servidor y traer el nombre de las diferentes bases de datos existentes. Es por eso que al dar clic en la flechita puede tardar un par de segundos en desplegarse el listado.
14. Seleccionas la base de datos a la que te quieres conectar.
15. Oprimes el boton Test.
16. Y deberias recibir un mensaje de confirmacion de conexion exitosa!
Haz lo que te digo, y cuando te funcione nos lo haces saber para continuar la programacion en Builder C++.
Gracias! _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Duckman007 Ens


Registrado: 12 May 2007Mensajes: 45Ubicación: Oaxaca, Mexico
|
Publicado: Jue 17 May, 2007 10:27 pm Asunto: |
|
|
Hola que tal a ambos,
Intente realizar lo que me describes jacko pero me aparece el siguiente error:
[MySQL][odbc 3.51 Driver]Can't connect to MySQL server on '192.168.1.100' (10060)
No se si tenga que configurar de alguna manera especial la maquina remota para que me permita
el enlace a la maquina en donde tengo la aplicacion o bien tenga que compartir cierta carpeta o algo asi.
Estoy usando las siguientes versiones de MySQL: "MySQL server 4.1" y "MySQL server 5.0",
como asi tambien tengo instalado "MyODBC-3.51.11-2-win" La manera en que instalo MySQL es por medio del
asistente y al ultimo realizo un test local y se conecta perfectamente.
Les agardeceria y me dieran mas sugerencias de favor. Saludos |
|
| Volver arriba |
|
 |
|