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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2010
Avatar de jbautista
jbautista jbautista is offline
Miembro
 
Registrado: jul 2008
Posts: 43
Poder: 0
jbautista Va por buen camino
Aplicaciones Delphi con MySQL por IP

Hola que tal, me quivoque en un inicio y puse el post en la seccion de varios, perdon, bueno les cuento: Donde trabajo hay un sistema PHP que se conecta a una BD (MySQL) que esta en el DF y accesamos al sistema por una direccion mas o menos así:
http://empresa.dynalias.com/loguin.php (Maso o menos la direccion para entrar a la BD por medio de PHPmyAdmin)
Por otra parte, hay otra BD aqui donde trabajo (Puebla) este servidor Linux CentOS y con BD MySQL esta local, así que accedemos por medio de la IP directa

192.168.1.xx

Bueno pues tengo hacer unas aplicaciones de escritorio con Delphi 7 (independiente al sistema PHP que ya existe) mis aplicaciones se tienen que conectar a la BD tanto del DF como de Puebla.

Yo he usado Dephi 7 con conexion a SQLServer en una misma red con los compnentes ADO, y las dudas que tengo ahorita son las siguientes:
  1. ¿Que componentes usar para conectarse a una BD MySQL?
  2. ¿Como acceder a una BD por medio de IP y que está fisicamente en otro lugar fuera de mi red?
  3. Afecta que mis aplicaciones corrarn en Windows XP y que la BD este en un servidor Linux de manera remota?
De antemano gracias!!!
Responder Con Cita
  #2  
Antiguo 03-08-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

Como bien te ha dicho Neftalí en el otro hilo que no repitas los mismo temas en diferentes hilos; teniendo en cuentas eso voy a tratar de ayudarte:
Cita:
Empezado por jbautista Ver Mensaje
Yo he usado Dephi 7 con conexion a SQLServer en una misma red con los compnentes ADO, y las dudas que tengo ahorita son las siguientes:
  1. ¿Que componentes usar para conectarse a una BD MySQL?
Existen varios componentes y diferentes formas de conectarse a MySQL desde delphi, Por ejemplo tambien puedes usar los componenetes ADO, aunque para poder conectarte con éstos componentes necesitarás instalarte en cada maquina Cliente el Driver conector de MySQL, lo cual a mi personalmente no me gusta , por eso prefiero usar los componentes Zeos que son Gratuitos y no necesitarás ningun Driver más, a excepcion de alguna Dll que viene en el propio paquete Zeos..Te los recomiendo.
Tambien se lo puede hacer usando los componentes DBEpress usando los driver que trae el propio IDE de Delphi, busca informacion al respecto.
Existen tambien componentes de Pagos como por ejemplo los componentes MyDAC, entre otros.. Cómo puedes ver hay muchas alternativas.
Cita:
Empezado por jbautista Ver Mensaje
2.- ¿Como acceder a una BD por medio de IP y que está fisicamente en otro lugar fuera de mi red?
Pues tranquilamente puedes acceder conociendo la IP o el nombre DNS y el puerto donde está escuchando el servidor MySQL que está fuera de tu red.
Se supone que el dominio :http://empresa.dynalias.com/ Le corresponde una IP Fija ó Estática , es decir su IP nunca Cambia, siempre es la misma.. Es como el servidor del clubDelphi que su IP es la Misma.
Para saber la IP de cualquier sitio o servidor se puede hacer haciedo Un Ping desde la Linea de Comando, mas o menos así: ping www.google.com , y te mostrará la IP de dicha direccion; es tu caso debes poner la direccion de tu servidor.
Cita:
Empezado por jbautista Ver Mensaje
3.- Afecta que mis aplicaciones corrarn en Windows XP y que la BD este en un servidor Linux de manera remota?
No afecta en nada ya que a diferencia de MS SQL Server, MySQL es Multiplataforma, es decir , el servidor puede estar corriendo en Linux, Mac,Windows,Solaris,etc, y de igual manera vamos a poder acceder, en éste caso desde Windows, ya que Delphi solo crea aplicaciones para Windows.; Pero nada me impide que se pueda hacer otra aplicacion, por ejemplo en java que se conecte ala misma Base de datos, desde otro lugar, y otro sistema Operativos..
Espero haberte podido ayudar.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 04-08-2010 a las 00:23:30.
Responder Con Cita
  #3  
Antiguo 03-08-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
Como te recomienda rges, utiliza Zeos, son sencillos, no dan problemas y bastante rápidos.

Respecto a IPs y eso no necesitas nada más que saber la IP de cada servidor o en su defecto el dominio a que correspondan. La IP de la suc de México seguramente es dinámica y seguramente utilizas un servicio como dyndns o no-ip para acceder. Basta con darle esos datos al conector de zeos y te funciona.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #4  
Antiguo 04-08-2010
Avatar de jbautista
jbautista jbautista is offline
Miembro
 
Registrado: jul 2008
Posts: 43
Poder: 0
jbautista Va por buen camino
Gracias rgstuamigo, Neftali y [AzidRain] antes que nada disculpen lo de repetir el hilo, me equivoque desde un inicio, pense que lo habia puesto en esta seccion y ya me di cuenta hasta la noche.

(Despues de tremendo regaño no me volvera a pasar :S )

Pues entonces regresando al tema y en resumen los componentes Zeos son los mas adecuado, ya habia leido algo acerca de que con los ADO era mas rollo.

Y entonces solo necesito configurarlos e indicarle el servidor por medio de la IP, y si claro tengo la IP directa, que como bien dijeron es estatica en mi server y esta ligada con DynDNS.

Pues voy a bajarlos y probarlos, y espero no tener mayor problemas.

De antemano gracias y cualquier cosa pues ahi los anadre molestando!

Saludos.
Responder Con Cita
  #5  
Antiguo 05-08-2010
Avatar de jbautista
jbautista jbautista is offline
Miembro
 
Registrado: jul 2008
Posts: 43
Poder: 0
jbautista Va por buen camino
Hola rgstuamigo Fijate que ya me baje los componentes Zeos y los instale con la ayuda del turorial "Como_instalar_ZeosLib" del compañero AzidRain. Pero tengo una duda, en el tutorial se remarca el uso de las DLL de mySQL para las maquinas clientes pero el paquete actual de Zeos: ZEOSDBO-6.6.6-stable.zip ya no trae esa carpeta Lib que trae los DLL, solo la Package.
Y al momento de querer conectar el ZConnection me sale el siguinete error:

None of the dynamic libraries can be fount libmysql51.dll, libmysql50.dll, libmysql.dll

Sabras si las DLL las tengo que bajar aparte o hice mal la instalacion del Package????

Saludos!
Responder Con Cita
  #6  
Antiguo 05-08-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
El servidor MySQL trae la dll pero la llama únicamente libmysql.dll, según la versión que estés utilizando debes copiar y renombrar dicho archivo a donde lo vayas a ocupar. Busca ese archivo en el servidor donde tienes instalado MySQL para que lo copies a donde vas a desarrollar. Por alguna razón las versiones más nuevas de Zeos ya no traen las dlls.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 05-08-2010
Avatar de jbautista
jbautista jbautista is offline
Miembro
 
Registrado: jul 2008
Posts: 43
Poder: 0
jbautista Va por buen camino
Lo anterior ya no Tuve que bajar una version mas vieja de Zeos: La ZEOSDBO-6.6.1-beta y ya agregue las DLL.

Bueno aqui ahora si ya tengo un par de dudas mas especificas:

Como les comente accedo a mi BD por medio del PHPmyAdmin desde la direccion
192.168.1.xx/phpMX //accesando desde la misma red
ó
miempresa.dynalias.com/phpMX // desde internet
Por otro lado, si pongo en mi navegador solamente la dir: 192.168.1.xx me habre la pagina prinicipal de mi sistema web.

¿Entonces como sé cual es la direccion de mi servidor que debo poner en la propiedad Hostname del ZConnection?
  • 192.168.1.45
  • ó http://192.168.1.45 (esto me saca un error el: '' is not a valid integer value )
  • 192.168.1.xx/phpMX // supongo que es la dir del phpMyadmyn
  • 192.168.1.45/localhost oO???
Las propiedades que estoy agregando al ZConnection son:
  • Catalog: myEmpresaBD
  • Database: myEmpresaBD
  • Hostanme: 192.168.1.45
  • Password: **** (el mismo que me pide para acceder al srevidor con phpMyAdmin)
  • Protocol: mysql-5 (Aunque no se si es el correcto, la version que ocupo es MySQL client version: 5.0.77, ¿que diferencia hay con el protocolo "mysqld-5"?)
  • User: root (al igual que el pass es el mismo que ocupo para el phpMyAdmin)
En el tutorial que encontre no dice nada de agregar el dato del Port que por default viene 0

Lei por ahi que MySQL ocupa el puerto 3306 ó 3060.
Pero en mi caso cuando ligamos la direccion IP del server al DNS de Dynalias abriamos el puerto 80 de la maquina server en el home del router.

Entonces estoy confundido cual es el correcto?

Aqui en mi oficina fisicamente tengo las dos maquinas en las que estoy trabajando:
  • El servidor Linux CentOS con la Direccion 192.168.4.xx ligado al DNS miempresa.dynalias.com y que contiene el phpMyAdmin y el sistemas PHP que ocupa la empresa.
  • Y la maquina con windows XP, donde tengo Delphi 7 y quiero conectarme a la BD del servidor por medio de 192.168.1.xx
Muchas gracias ojala pudieran orientarme para ubicar que es lo que me falta! :S
Responder Con Cita
  #8  
Antiguo 05-08-2010
Avatar de jbautista
jbautista jbautista is offline
Miembro
 
Registrado: jul 2008
Posts: 43
Poder: 0
jbautista Va por buen camino
Cita:
Empezado por AzidRain Ver Mensaje
El servidor MySQL trae la dll pero la llama únicamente libmysql.dll, según la versión que estés utilizando debes copiar y renombrar dicho archivo a donde lo vayas a ocupar. Busca ese archivo en el servidor donde tienes instalado MySQL para que lo copies a donde vas a desarrollar. Por alguna razón las versiones más nuevas de Zeos ya no traen las dlls.
Si pero aqui el server es una maquina distinta con diferente SO donde ya me dejaron instalado la BD y solo me dieron las direcciones para entrar al PHPmyAdmin


Y la maquina donde estoy desarrollando es una con win XP asi que aqui no esta dicha libreria instalada, pero pues ya me consegui las DLL solo tengo las dudas de arriba :S

Gracias!!!!
Responder Con Cita
  #9  
Antiguo 05-08-2010
Avatar de jbautista
jbautista jbautista is offline
Miembro
 
Registrado: jul 2008
Posts: 43
Poder: 0
jbautista Va por buen camino
Por cierto

Con las propiedades:
  • Catalog: myEmpresaBD
  • Database: myEmpresaBD
  • Hostanme: 192.168.1.45
  • Password: **** (el mismo que me pide para acceder al srevidor con phpMyAdmin)
  • Protocol: mysql-5
  • User: root (al igual que el pass es el mismo que ocupo para el phpMyAdmin)
Y la propiedad Port: 3306 se saca el error:

SQL Error: Host '192.168.1.90' is not allowed to connect to this MySQL server. (no entiendo si le puse exactamente el numero 45 al final y no 90)

Y con Port: 80 se queda trabado y no responde.


Responder Con Cita
  #10  
Antiguo 05-08-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
No está habilitado el servidor para atender conexiones que no estén dentro de su misma red. Por eso el mensaje.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #11  
Antiguo 05-08-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

Tienes que entender que los servidores de Bases de datos que trabajan con protocolo TCP/IP lo hacen usando Socket , es decir ,para poder comunicarse con él, es necesario tres cosas:La Direccion IP o Nombre DNS, el protocolo que se va utilizar( en esté caso se está usando TCP) y el puerto atraves del cual se comunicará.
En tu caso deberás averiguar en que puerto está trabajando tu servidor MYSQL., ten por seguro que no es el 80 ya que el puerto 80 por defecto lo utiliza el protocolo HTTP.,no debes confundir.
Como tú lo has mencionado anteriormente MySQL por defecto utiliza el puerto 3306 pero eso no significa que el Administrador del servidor no lo haya cambiado a otro puerto,; todo sabemos que MySQL es totalmente configurable., de ahí es importante que conoscas la configuracion de tu servidor MySQL, en éste caso el puerto y la IP..

__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #12  
Antiguo 05-08-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
La dirección de tu servidor es la que mencionas: "miempresa.dynalias.com", ese dato es el que le tienes que poner al conector que vayas a ocupar. Una anotación, no es necesariamente "a fuerzas" utilizar phpmyadmin para administrar una bd mysql, hay otras herramientas pero en todos los casos lo mínimo que vas a necesitar es la dirección.

Ahora bien, por default el servidor MySQL no permite conexiones externas a la red donde esté instalado el servidor, por lo que si lo trtas de accesar en esa sucursal u oficina verás que lo puedes hacer sin prblema, pero si lo quieres hacer remotamente ya no podrás. En este caso dado que quien administra el servidor no eres tú, tienes que solicitar que abran el acceso desde el exterior o bien que te asignen un usuario que sí pueda conectarse desde afuera.

Yo tengo trabajando un sservidor Win Server con WAMP vía remota atendiendo 3 sucursales sin ningún problema e igualmente utlizo el esquema de ip dinámica (aunque yo uso dyndns). La diferencia es que en mi caso yo sí tengo acceso a administrar directamente el servidor, que creo que por lo que leemos no es tu caso, de cualquier forma comenta y vemos cmo te ayudamos
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #13  
Antiguo 06-08-2010
Avatar de jbautista
jbautista jbautista is offline
Miembro
 
Registrado: jul 2008
Posts: 43
Poder: 0
jbautista Va por buen camino
Pues si ya me hicieron comprender una par de cosas y creo que por el momento desistire de hacer las aplicaciones con Delphi (aclaro por cuestion de tiempos) mejor hare mis reportes con PHP ya que este codigo esta alojado en el server y las conexiones a la BD las hace directamente como Localhost. Pero Bueno voy a seguir practicando la coneccion remota ademas de tener menos dudas respecto al tema!

les agradesco el tiempo y la continuidad al hilo!!!

He aprendido mucho en estos día y eso ya es mucha ganancia!!!

Buen fin de semana a todos!
Responder Con Cita
  #14  
Antiguo 11-08-2010
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 18
darkbits Va por buen camino
yo tube ese mismo problem hace tiempo lo solucione asi
http://localhost/phpMyAdmin/

ve a privilegios si ingresas con root edita el privilegio de localhost por % y listo tu aplicacion delphi o php podra conectarse desde cualquier pc de la red a tu servidor.
Responder Con Cita
  #15  
Antiguo 18-10-2011
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
pregunta

ke tal compañeros del foro, yo tengo el mismo problema y no he podido echar andar el programa, en red local funciona muy bien pero cuando hago el intento de conectar con la ip del modem, me saca los mismos errores que comentan, me gustaria me pudieran orientar y decirme como puedo checar exactamente que puerto es el que esta utilizando mi servidor de MYsql (es el WAMP) o como lo configuro para que pueda recibir conexiones remotas, estoy seguro que es ahi en ese punto donde me esta fallando.

Espero me puedan apoyar con esta duda.

Saludos a todos...
Responder Con Cita
  #16  
Antiguo 22-10-2011
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
lo he logrado

Pues si, segui el consejo de un compañero del club y cheque la conexion en una red externa y listo...
Responder Con Cita
Respuesta



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
Compativilidad de windows VISTA con aplicaciones hechas en Builder5,Mysql pollo_c C++ Builder 0 28-10-2007 22:37:49
Aplicaciones PDA en Delphi 2007 Minotaure Varios 4 04-09-2007 15:54:00
Delphi .NET y aplicaciones ASP karlaoax .NET 3 03-07-2007 15:33:07
Aplicaciones MySQL a traves de Internet dimony MySQL 5 27-11-2006 01:20:58
Aplicaciones web con Delphi Coco_jac Varios 2 25-11-2005 21:25:57


La franja horaria es GMT +2. Ahora son las 11:55:02.


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