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 20-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
BD sin conexion a internet

Queria saber que opciones hay para cuando se corta la conexion a internet, porque estoy modelando un webservice, y quiero saber si se corta la conexion a internet, como guardo en el servidor local. Son 3 sucursales con varias pc.

Habia pensado:

1- Poner en LAN las maquinas(una servidor y el resto clientes) dentro de cada sucursal, y a su vez montar el webservice, y si se corta la conexion tener una bd auxiliar en la pc serviodor de cada sucursal.

2- Dejar sin lan y cada maquina con su base de datos, porque por ejemplo los empleados que venden articulos, solo necesitan precios y clientes por ej. Y solo un administrativo de la casa central necesita el acceso a proveedores.

Me parece mejor la opcion 2, porque pienso no hay muchos problemas de concurrencia entre las sucursales, porque tiene pocos usuarios, y al reestablecer internet se cargan los datos de vuelta, que es otra cosa que quiero aprender.

Es decir: se puede dejar una porcion de una bd en una maquina cliente? y cargar en el servidor?
Responder Con Cita
  #2  
Antiguo 20-06-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Hola.

No sé la base de datos que usas, algunas bases de datos admiten una cosa que se llama replicación que es una especie de sincronización entre dos bases de datos pero eso para lo que comentas puede no ser lo adecuado.

Lo suyo sería que crearas una base de datos local y con procesos de importación y exportación enviaras y recibieras los datos que necesites pero claro, tendrías que montar ese proceso manualmente.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 20-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Gracias

Bueno en principio gracias por responder.

tu dices una base de datos distribuida y centralizada a la vez, osea la base de datos local con importcion y exportacion a una central? Bueno eso no me parece adecuado porque es una carga mas en cuanto a procesos, ya que cada maquina debe guardar datos y a la vez comunicarse y enviarlos, osea serian mas transacciones.

Lo unico que quiero si se corta la conexion a internet guardar los datos y cuando vuelve internet cargarlos, pero despuesd e estos seguir con la base de datos central ubicada en el servidor. Una base de datos distribuida es muy complejo.

Saludos.
Responder Con Cita
  #4  
Antiguo 20-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lo comentado por Newtron soluciona tu problema.

Cita:
Empezado por giulichajari Ver Mensaje
Lo unico que quiero si se corta la conexion a internet guardar los datos y cuando vuelve internet cargarlos
Bien, pues entonces hazlo así, guardas los datos en local si no hay conexión, y cuando haya conexión los envías.
Responder Con Cita
  #5  
Antiguo 20-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Lo comentado por Newtron soluciona tu problema.


Bien, pues entonces hazlo así, guardas los datos en local si no hay conexión, y cuando haya conexión los envías.
Exacto pero como hago eso?

Necesito el sql server, es decir correr el servicio de sql en todas las maquinas, entonces si se corta trabaja con la base en local? Y al renovarse vacio en local y lo cargo en la central?
Responder Con Cita
  #6  
Antiguo 20-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No, no, no... eso es algo que debes programar tú.
Ignoro si ¿MS sql server? puede hacer algo como lo que dices.
Responder Con Cita
  #7  
Antiguo 20-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
gracias

Cita:
Empezado por Casimiro Notevi Ver Mensaje
No, no, no... eso es algo que debes programar tú.
Ignoro si ¿MS sql server? puede hacer algo como lo que dices.
Por ejemplo, el cajero utiliza la tabla productos y clientes y luego registra una compra, entonces debo generar mediante uns cript o como sea, una bd con esas 3 tablas por ejemplo, luego cada maquina de los cajeros que son varias deben tener esa base de datos, si no es imposible.¿Es asi?
Ademas:
¿con que componente puedo conocer si el servidor esta online y en base a eso redirigir al local o esperar?

y para pasar de la bd local al servidor al recuperarse la conexion, simplemente programo una funcion que pase datos con un insert.
ok buscare mas info y ejemplos
Responder Con Cita
  #8  
Antiguo 20-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ese es un tema muy serio y hay que tener mucho cuidado con lo que se hace. Hay que sopesar mucho todos los pros y los contras para encontrar la mejor solución a cada caso.
Piensa bien todo el proceso que realmente necesitas, las distintas opciones, las maneras de implementarlos, etc. y luego decides.
Después toca programarlo, pero eso es lo último, cuando se tengan las cosas totalmente claras, planificadas y por escrito.
Responder Con Cita
  #9  
Antiguo 20-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Ese es un tema muy serio y hay que tener mucho cuidado con lo que se hace. Hay que sopesar mucho todos los pros y los contras para encontrar la mejor solución a cada caso.
Piensa bien todo el proceso que realmente necesitas, las distintas opciones, las maneras de implementarlos, etc. y luego decides.
Después toca programarlo, pero eso es lo último, cuando se tengan las cosas totalmente claras, planificadas y por escrito.
Entiendo lo que dices, el dueño de la empresa lo quiere si o si, y tiene razon porque si se corta internet no puede dejar de atender a la gente que va a comprar, simplemente pregunto como se hace, o donde puedo encontrar informacion al respecto

Igual muchas gracias
Responder Con Cita
  #10  
Antiguo 20-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
otra cosa

ademas porque no serviria hacerlo de esta forma por si se corta internet?
Responder Con Cita
  #11  
Antiguo 20-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que no entiendes lo que digo, en esto no tiene nada que ver lo que quiera el dueño de la empresa, es tu elección y tu decisión, como encargado del sistema informático, el decidir la mejor manera que puede implementarse dependiendo del negocio, del equipamiento, del lugar, de las conexiones, del presupuesto, de las necesidades en todos los aspectos, etc.

Esto no es buscar un componente y un código encontrado por internet y pegarlo a tu programa. Salvo que quieras ir directo al desastre.
Responder Con Cita
  #12  
Antiguo 20-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
ok, pero el cliente siempre tiene la razon, ajajjaja, aparte no se puede prescindir del sistema solo porque no hay internet.

Y no quiero un codigo copiado, lo que pasa e sque nunca lo hice y queria que me recomendaran algo..
Saludos
Responder Con Cita
  #13  
Antiguo 21-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero eso no tiene nada que ver con lo que he comentado

La solución "fácil" es: si ocurre un error de conexión, guardar los datos con una marca indicadora de que no ha sido actualizado en la central.
Testear cada xx minutos para ver si hay ya conexión a la central.
En cuanto hay conexión a la central, buscar todos los registros con la marca "no actualizado" y pasarlos a la central.

No se puede explicar mucho más porque tu pregunta es muy genérica.
Responder Con Cita
  #14  
Antiguo 21-06-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Hola.

Yo veo algo engorroso mantener una conexión directa con el servidor y que en caso de un posible fallo de internet pase a modo local.

Te pongo un ejemplo simple de lo que yo hago en estos casos (obviando tablas como formas de pago, vendedores, etc):

Base de datos Central:

Tabla de artículos
Tabla de clientes
Tabla de cabeceras de ventas
Tabla de lineas de ventas
..etc. (o sea, todas las tablas)

Base de datos Local (en cada delegación remota):

Tabla de artículos
Tabla de clientes
Tabla de cabeceras de ventas
Tabla de lineas de ventas

Como ves tienes las bases de datos duplicadas, una en cada delegación. Tendrías que tener un proceso inicial de importación de los datos maestros desde la central hacia las delegaciones, esto lo puedes hacer exportando los datos maestros de clientes, artículos, etc. a un sitio FTP y un proceso en las delegaciones que integre esa información con su base de datos, es decir, que lea lo que le envía la central y, por ejemplo, en el caso de los artículos que no existan los crea y los que existan actualice sus datos como nombre, precios, códigos de barras o algún dato más que pueda variar.

A partir de ahí puedes empezar a vender en la delegación y almacenando los datos en su base de datos local. Cuando acabe el día tendrás que hacer el proceso inverso, es decir, enviar un fichero al sitio FTP con las ventas realizadas y en el ordenador centrar integrarlas en su base de datos junto con las del resto de delegaciones. Una vez enviados los datos de la delegación puedes marcarlos como enviados para no duplicar los envios o borrarlos para comenzar un nuevo día, eso ya depende del cliente y el tipo de negocio.

Tendrás que tener en cuenta cosas como que la numeración de cada delegación sea independiente para no duplicar números de venta y cosas por el estilo.

Esto tiene sus ventajas y sus inconvenientes, la ventaja es que no necesitas tener conexión directa con la central y el inconveniente es que los datos no están actualizados hasta que hagas los envíos central-delegación-central.

Espero haberte aclarado algo el asunto.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #15  
Antiguo 21-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Gracias

Bueno entiendo tu propuesta newtron pero la idea es tener un servidor para como dices tu asegurar la concurrencia, y tener todos los datos actualizados.

Inicie este tema nada mas que para saber en donde puedo encontrar ejemplos o como hacer para comprobar el servidor, y para pasar a la central al recuperarse la conexion, y como se instala la base de datos en local aunque sea con algunas tablas.
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
Conexion SQL2000 via Internet kurono SQL 4 27-09-2012 09:53:32
Conexión a Firebird via internet wod Conexión con bases de datos 2 21-01-2007 19:40:54
Conexión a Internet... dunia_lv Internet 3 12-08-2005 11:09:24
Conexión Internet altp Internet 4 03-04-2004 10:28:30
Conexion Internet buitrago Firebird e Interbase 3 12-09-2003 08:29:21


La franja horaria es GMT +2. Ahora son las 21:45:08.


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