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 30-04-2010
myj myj is offline
Miembro
 
Registrado: abr 2010
Posts: 20
Poder: 0
myj Va por buen camino
¿Cómo hago una base de datos en red?

hola chicos una preguntotota ojala me puedan sacar de mi apuro:S, en la uni me dejaron una aplicacion en red y no tengo la minima idea de como hacerlo, puedo manejar mis tablas en paradox o mysql, pero como lograr que estas esté en red,
-¿que componentes utilizar?, como los utilizo, plis ayudenme, gracias de antemano
Responder Con Cita
  #2  
Antiguo 30-04-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola myj,

Realmente no entendí bien tu pregunta.

Si lo que quieres es saber cómo conectarte a una base de datos en red, primero tienes que indicar qué motor de datos utilizas: paradox, interbase, firebird, etc.

Dependiendo de esto, el modelo de conexión será de una forma u otra, al igual que los componentes, que variaran según a qué motor de datos quieras conectarte.

Un saludo.
Responder Con Cita
  #3  
Antiguo 30-04-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Aparte de lo que te ha dicho manuc, los coponentes de conexion son los mismos para conexión en local como en Red. En el caso de MySQL que comentas, basta con decirle al componente de conexión donde se encuentra (nombre o IP) el servidor de Base de datos (MYSQL instalado) y a partir de ahí tu trabajo con tablas/Querys se hace igual sin tener en cuenta si estás en local o en red.

Lo que sí debes tener en cuenta, son algunas precauciones a la hora de trabajare red (la mayoría que son de lógica). Se trata de tener cuidado a la hora de realizar consultas o abrir tablas. Si en local abres una tabla con demasiados registros, tal vez el tiempo de espera sea un poco grande, pero puedas utilizar la aplicación sin grandes problemas. Si esa misma consulta la haces cuando no estás trabajando en local sino en red, estarás obligando a llevar demasiados datos por la red, lo que ralentizará tu aplicación y sobrecargará la red en general. Como te decía, es de lógica, pero a veces se ns olvidan estos detalles.

Sobre todo utilizar bien los índices, filtros y TOP (para llevar los mínimos registros posibles), mejor TQuery que TTable, utiliza SQL si te es posible, Stored Procedures y Trigger (si usas un SGBD) si optimizarán en trabajo,..
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 30-04-2010
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
Mysql

Bueno como han mensionado antes los compañeros.
Te puedo decir que uses MySql la instalas en una maquina, configuras un usuario, cras la base de datos y listo.
En tu aplicacion debes conectarte a esa base de datos unicamente haciendo referencia a la ip de tu pc servidor(rn donde esta instalada tu base datos).

Para este caso te aconsejaria usar los componentes zeos en tu aplicación son muy faciles de usar y sin necesidad de instalar el odbc para conectarte mysql.

Bueno esto esta dicho ya que tu mensionas que conoces algo sobre Mysql, pero esto lo puedes hacer con cualquier servidor RDBMS, interbase, firebird, postgre, bueno entre otras.
De igual manera si tienes experiencia con algun otro componente pues puedes usarlo, todo depende de tu experiencia.
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
Responder Con Cita
  #5  
Antiguo 13-05-2010
myj myj is offline
Miembro
 
Registrado: abr 2010
Posts: 20
Poder: 0
myj Va por buen camino
Cita:
Empezado por voldemmor Ver Mensaje
Bueno como han mensionado antes los compañeros.
Te puedo decir que uses MySql la instalas en una maquina, configuras un usuario, cras la base de datos y listo.
En tu aplicacion debes conectarte a esa base de datos unicamente haciendo referencia a la ip de tu pc servidor(rn donde esta instalada tu base datos).

Para este caso te aconsejaria usar los componentes zeos en tu aplicación son muy faciles de usar y sin necesidad de instalar el odbc para conectarte mysql.

Bueno esto esta dicho ya que tu mensionas que conoces algo sobre Mysql, pero esto lo puedes hacer con cualquier servidor RDBMS, interbase, firebird, postgre, bueno entre otras.
De igual manera si tienes experiencia con algun otro componente pues puedes usarlo, todo depende de tu experiencia.
hola, disculpa por no haber contestado rapido, esqe he tenido otras tareas, gracias por contestar, mira si puedo manejar mysql pero no se utilizar zeos, lo he conectado con odbc, pero no se realmente que tengo que hacer para que mi aplicacion sea mas que cliente servidor, me dice el profe que tiene que ser distribuida, ojala me puedan dar una idea , si tienen links de manuales porfis o ejemplos plis. gracias
Responder Con Cita
  #6  
Antiguo 13-05-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola myj,

La verdad es que lo que planteas es "complicado" de responder, no por la dificultad técnica, sino, porque me da la sensación de que no tienes claro que es lo que quieres hacer.

Realmente un sistema Cliente/Servidor se puede considerar un sistema distribuido.
Por un lado tienes el Software cliente: tu ejecutable para los terminales, con el que interactuarán los usuarios de la aplicación.
Por otro lado, tienes el Software Servidor: que se ejecutará en la máquina servidora y que normalmente será el motor de datos que desees utilizar.

¿Quieres dar un paso más? Bien, puedes dividir un poco más la estructura de tu Software y crear una estructura en "tres capas": Cliente -> Servidor App. -> Servidor de Datos.
(Mira el punto 7 de este enlace)
Básicamente, en tu modelo Cliente/Servidor, el cliente lo divides en dos: Cliente y Capa SQL y sigues manteniendo el servidor de base de datos, obteniendo una estructura de tres elementos, distribuible en distintas máquinas.

Para hacer esto con Delphi, la solución más fácil es utilizar Midas.

¿Es esto lo que quieres hacer, una aplicación distribuida en tres capas?
Responder Con Cita
  #7  
Antiguo 14-05-2010
myj myj is offline
Miembro
 
Registrado: abr 2010
Posts: 20
Poder: 0
myj Va por buen camino
hola manuc, muchas gracias por contestar, ya investigue algo sobre lo del midas y la arquitectura de 3 capas, la verdad estaba en 0, ahora en 5 espero llegar a lo suficiente para concluir este proyecto que me dejaron:S.

en una pagina que encontre, me dice como migrar la aplicacion a midas, no se me permite enviar links, pero lo busque en google como midas delphi,

estoy haciendo lo que dice ay, que tengo que crear un Remote Data Module y ahi poner los query que tengo en la aplicacion cliente, ya los copie, pero me dice que le de clic derecho y seleccione la opcion "Export Query from DataModule" pero no me aparece, ya baje el midas.dll y lo pegue en system32, pero nada, no me aparece la opcion, que creen que sea, en la pagina se ve que si lo tiene o sera otra version de delphi:S

saludos
Responder Con Cita
  #8  
Antiguo 14-05-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola myl,

No se lo que te dirá exactamente la página donde lo estás siguiendo, pero, en el Remote Data Module no hay que hacer eso.

En el Remote Data Module, tienes que colocar tu componente de conexión a la base de datos, tus querys y un datasetProvider por cada Query que quieras exportar.

El DatasetProvider tiene una propiedad "Exported" que por defecto está a True. Esta propiedad es la que indica que el DatasetProvider está exportado y podrá ser utilizado desde tu Software Cliente.

Después, en tu Software Cliente, tienes que colocar un SocketConnection (hay varios modelos de conexión, pero te recomiendo la conexión por Socket). Dependiendo de la estructuración de tu aplicación, lo puedes colocar en un formulario general o un módulo de datos accesible por todos los formularios.

Después, colocas un ClientDataset, por cada Query que quieras utilizar. Cada ClientDataset tiene que tener su estructura Query + DatasetProvider en la capa Intermedia o SQL (Remote Data Module).

En la propiedad "RemoteServer" del ClientDataset, indicas el SocketServer que has colocado en tu Software Cliente.

En el mismo ClientDataset, tiene una propiedad "ProviderDataset". Es de tipo estring y tendrás que teclear el nombre del ProviderDataset al que quieres que se conecte tu ClientDataset.

Una vez configurado esto, en ejecución, llamas al método open del ClientDataset y vualá!, tendrás el resultado que hayas programado en tu Query (en lado del Remote Data Module).

También lo puedes probar en diseño, cambiando la propiedad "Active" de tu ClienteDataset a "True"

Hay varias formas de crear tu Remote Data Module. Si has optado por crar un "ActiveX Library", recuerda que has de registrar la DLL, en tu máquina servidora (que puede ser la misma donde se ejecuta tu Software Cliente)
Imagino que eso vendrá explicado en la página que estás siguiendo.

Si tienes dudas, pregunta, que te echaremos una mano.

Espero que te ayude.

Un saludo.
Responder Con Cita
  #9  
Antiguo 16-05-2010
myj myj is offline
Miembro
 
Registrado: abr 2010
Posts: 20
Poder: 0
myj Va por buen camino
Hola manuc, de antemano muchas gracias por dedicar tiempo,

mas o menos le empiezo a entender, aunque estoy confundida sobre los componentes que debe llevar la aplicacion servidor y la cliente:S

¿Puedo avanzar haciendo mi aplicación normal y luego volverla cliente?:S

disculpa, esque en esto para hacer el cliente servidor estoy perdidona:S

gracias por todo saludos
Responder Con Cita
  #10  
Antiguo 17-05-2010
ifarias ifarias is offline
Miembro
 
Registrado: sep 2004
Posts: 23
Poder: 0
ifarias Va por buen camino
Tipos de Aplicaciones

Cita:
Empezado por myj Ver Mensaje
Hola manuc, de antemano muchas gracias por dedicar tiempo,

mas o menos le empiezo a entender, aunque estoy confundida sobre los componentes que debe llevar la aplicacion servidor y la cliente:S

¿Puedo avanzar haciendo mi aplicación normal y luego volverla cliente?:S

disculpa, esque en esto para hacer el cliente servidor estoy perdidona:S

gracias por todo saludos
Hola

Existen tres tipos de aplicaciones que se podría definir en:
1. Una sola capa
El programa tiene todo el manejo de interface con el Cliente, pantallas, teclado, impresión y además maneja internamente los archivos de datos, que podrían ser xml, txt, etc.)
2. Dos capas (Cliente/Servidor)
Donde en la capa del cliente (programa) se maneja toda la interface con el cliente, teclado, etc. Y en la capa del Servidor se deja el manejo de la base de datos, tablas, vistas, etc.
3. Multi-Capas (Servidor-Lógica de Negocio-Cliente)
En este el programa se separa en 3 o más partes:
1.- El Programa Cliente, que maneja la interface con el usuario.
2.- La lógica de Negocio, todas las reglas de actualización de datos ejemplo: si se va a registrar una venta para un cliente y este no tiene suficiente crédito, en esta parte se daría el mensaje o se bloquearía la operación para que no sea completada.
3.- Servidor (de base de datos) que maneja las tablas, vistas, procedimientos almacenados, etc.
Espero que esto te aclare los tipos de aplicaciones que existen. Por lo que mencionaste supongo que tienes que desarrollar una aplicación Cliente/Servidor en donde la parte de Interface y lógica de negocio están en tu programa y la otra parte es la base de datos (Paradox, MySQL, etc)
Responder Con Cita
  #11  
Antiguo 17-05-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola myj,

Cita:
¿Puedo avanzar haciendo mi aplicación normal y luego volverla cliente?:S
Sí, realmente puedes hacerlo, pero yo no te lo recomiendo.

Cómo bien te dice ifarias, existen tres modelos básicos. Primero tendrías que decidirte que modelo quieres seguir.

Si te dedicas o te vas a dedicar a desarrollar Software, yo te recomiendo que tengas siempre una imagen clara de la estructura de tu aplicación, antes de escribir el primer punto y coma.

No te digo que forzosamente tengas que hacer un análisis de requerimientos, funcional, etc. Pero por lo menos un pequeño esquema gráfico, de la estructura de tu aplicación. Te ahorrarás muchas horas de picar código.

Para este proyecto concreto, no te recomiendo empezar a programarlo hasta que tengas claro que estructura vas a seguir. Si planteas una estructura cliente-servidor, y cuando quieras cambiarlo tendrás que cambiar algunos componentes, mover otros de sitio y re-programar algunos procesos.
No te digo que lo hagas, simplemente, te recomiendo no hacerlo.

Es más, yo te recomendaría que probaras a crear un pequeño ejecutable, con los componentes de conexión que después implementarás en tu Programa.

No obstante, es mi opinión y cada uno tenemos la nuestra. :-)

Un saludo.
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
Como Selesscionar Los Datos De Una Base De Datos ????? c35xr Conexión con bases de datos 8 10-04-2009 05:47:40
Como hago reportar ciertas partes de una Tabla de datos? Carlos76 Firebird e Interbase 2 07-08-2007 19:28:42
Como hago para usar imagenes en una base de datos Dbase chuchu C++ Builder 5 25-06-2007 08:21:42
como hago para agregar datos a PostgreSQL pnsd_89 Conexión con bases de datos 0 22-03-2007 18:56:04
Cómo hago una aplicación con bases de datos sin el BDE instalado? SoulSoldier C++ Builder 7 18-05-2005 13:03:24


La franja horaria es GMT +2. Ahora son las 08:52:15.


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