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 17-12-2013
Oscar Guzmán Oscar Guzmán is offline
Miembro
 
Registrado: oct 2008
Ubicación: Caracas-Venezuela
Posts: 79
Poder: 16
Oscar Guzmán Va por buen camino
Red face Actualiza Base de datos datos desde un pen drive

Hola a todos en el foro y feliz navidad

Necesito apoyo en lo siguiente agradeciendo vuestra ayuda de antemano

Una persona tiene dos pequeñas tiendas, con un programa de facturación en Delphi 7,pero ninguna de las tiendas tiene internet. El me dice que necesita un módulo que le permita crear los productos que necesite desde su oficina, la cual está lejos de sus tiendas y que una vez que haga eso pueda envíar los productos junto con un pendrive o un cd para que se actualicen las bases de datos en cada una.

Tengo una idea de lo que voy a hacer a nivel de sistema, pero lo que no veo es como puedo hacer un backup de sql de una base de datos y que después en la tienda pueda descargarse la base de datos y actualizar solamente las tablas que están relacionadas con el inventario desde un medio removible como un pen drive o cd.

Agradezco vuestro apoyo.
__________________
Oskar
Responder Con Cita
  #2  
Antiguo 17-12-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.464
Poder: 21
newtron Va camino a la fama
Hola.

Yo creo que lo más sano es que exportes las tablas que te interesen en formato ascii para después poder leerlas desde otro punto y hacer las operaciones que necesites.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 17-12-2013
Oscar Guzmán Oscar Guzmán is offline
Miembro
 
Registrado: oct 2008
Ubicación: Caracas-Venezuela
Posts: 79
Poder: 16
Oscar Guzmán Va por buen camino
Hola Newtron,

Pero como podría hacer eso, por lo menos saber como empezar, además es preciso tener en cuenta que no quiero actualizar tablas completas sino anexar información a tablas que ya existen, es decir, cuando el pendrive llegue a la tienda el mismo solo debe actualizar la información que se creó en la oficina
__________________
Oskar
Responder Con Cita
  #4  
Antiguo 17-12-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Metes el pendrive y le das a una opción "Exportar", que la debes crear tú, obviamente, con los datos que necesites traspasar.
Luego en el otro sitio, metes el pendrive y en el programa le das a una opción "Importar", que también, obviamente, debes crearla tú para extraer los datos del pendrive y almacenarlos en la BD.
Responder Con Cita
  #5  
Antiguo 18-12-2013
Oscar Guzmán Oscar Guzmán is offline
Miembro
 
Registrado: oct 2008
Ubicación: Caracas-Venezuela
Posts: 79
Poder: 16
Oscar Guzmán Va por buen camino
Hola Casimiro,

Obviamente el problema no es meter ni sacar el pendrive ni tampoco colocar la opción exportar ni importar, sino como pasar la información creada en la oficina a un formato o algo similar que después pueda ser anexada en las tablas que manejan los registros de productos y otras tablas relacionadas en la tienda, sin que eso signifique reemplazar una tabla, sino anexar la información que lleva el pendrive.

Nunca había tenido la necesidad de hacer eso, por eso estoy preguntando, pero ten la absoluta seguridad de que sé como meter y sacar un pendrive de una computadora
__________________
Oskar
Responder Con Cita
  #6  
Antiguo 18-12-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No he puesto en duda que sepas poner el pendrive en su sitio

Lo de traspasar los datos tienes muchas formas de hacerlo, lo más simple es un fichero de texto, por ejemplo, si tienes que pasar los artículos, mediante un "sql" los exportas y luego los lees en el otro equipo:
Es que tu pregunta es muy genérica, no queda claro exactamente qué es lo que quieres saber, ¿cómo exportar?, ¿cómo grabar los datos?, ¿cómo definir qué datos exportar?, ¿cómo elegir el formato de los mismos?, etc.
Lo normal es un simple: "select codigo, nombre, precio, etc... from tbArticulos where .... lo que sea".
Lo exportas a un fichero de texto:
Código Delphi [-]
while not query.eof do
  campo1 = query.fields[0].asinteger;
  campo2 = query.fields[1].asstring;
  campo3 = etc...
end;
Después puedes comprimirlo en un .zip para que ocupe menos.
Después vas al otro equipo y haces justo lo contrario: descomprimes el zip, y lees el fichero de texto, insertándolo en la base de datos.

Debes especificar claramente qué es lo que quieres saber para que se te pueda ayudar.
Responder Con Cita
  #7  
Antiguo 18-12-2013
Oscar Guzmán Oscar Guzmán is offline
Miembro
 
Registrado: oct 2008
Ubicación: Caracas-Venezuela
Posts: 79
Poder: 16
Oscar Guzmán Va por buen camino
Perfecto Casimiro

Tienes razón, es que no sabía como abordar el tema, tal vez por eso fui un tanto genérico, pero lo más importante es que ahora si me has dado luz con el asunto de exportar en formato texto. Voy a investigar como pasar información entonces de sql a un archivo de texto y después como pasar información del archivo de texto a una tabla, siendo en este caso (me imagino) un archivo de texto por cada tabla a actualizar

Espero tus comentarios

Muchas gracias Casimiro
Saludos
__________________
Oskar
Responder Con Cita
  #8  
Antiguo 18-12-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Haz una búsqueda por los foros, se ha tratado varias veces y encontrarás ejemplos.
Y no olvides que lo primero de todo es tener muy claro, exactamente, los datos que necesitas traspasar.
Y controlar que no se repitan y que solamente se traspasen los que se necesitan y nada más.
Responder Con Cita
  #9  
Antiguo 18-12-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Que BD usas? Si usas sqlite o firebird podrías literalmente copiar la BD y ya.

En el caso de sqlite, puedes hacer un attach http://www.sqlite.org/lang_attach.html y corres sql directamente.

Si no tienes ni idea, te digo que sqlite es una excelente opción (es lo que uso en mis apps de iOS).

Tambien con delphi, puedes cargar los datos en un clientdataset. Son exportables: http://docwiki.embarcadero.com/Libra...Set.SaveToFile.

Eso es lo que hacia en el 2000. En el 2000, lo pillas? en serio, que tan "cheap bastard" es tu cliente que no pone internet? Aun una tarjeta de prepago? Y que tal si pone un red wifi "larga" si las oficinas estan a unos cuantos metros entre si? Esa es una cosa que hizo un cliente para tener su intranet - aunque esto puede implicar permisos-.
__________________
El malabarista.
Responder Con Cita
  #10  
Antiguo 18-12-2013
Oscar Guzmán Oscar Guzmán is offline
Miembro
 
Registrado: oct 2008
Ubicación: Caracas-Venezuela
Posts: 79
Poder: 16
Oscar Guzmán Va por buen camino
Hola mamcx

La base datos que uso es sql server 2005 express, tanto en la ofc como en la tienda

Con lo que me indicó Casimiro ya logró guardar una tabla en un txt a través de una instrucción llamada en cbp pero sólo lo pude hacer en ms-dos y lo que necesito es hacerlo directamente en delphi y que el archivo sea separado por comas y algo muy importante, la exportación al txt va a ser siempre de algunas registros de algunas tablas y no de tablas
__________________
Oskar
Responder Con Cita
  #11  
Antiguo 18-12-2013
Avatar de Combat-F2D
Combat-F2D Combat-F2D is offline
Miembro
 
Registrado: may 2003
Ubicación: Toletum
Posts: 454
Poder: 22
Combat-F2D Va por buen camino
para no complicarte mucho la vida, por decir algo, en las jedi existe un componente CSV (texto separado por comas), que

.CopyFromDataset...
.SaveToFile...

.LoadFromFile
........

conectado al dataset correspondiente
hace milagros, y ojo, funciona
__________________
online
Responder Con Cita
  #12  
Antiguo 18-12-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.464
Poder: 21
newtron Va camino a la fama
Hola de nuevo.

A ver.... imagino que SQL Server tendrá la opción de exportar/importar desde ficheros de texto, lo único que tendrías que hacer es mantener un campo de la tabla que se marque cuando se exporten los registros de manera que podrías hacer un "EXPORT TABLE ..." (o con la sintaxis que use la base de datos) de los registros que no tengan esa marca y luego marcarlos como exportados, para importar te bastaría con hacer un "IMPORT TABLE..." directamente a la tabla donde los quieras añadir.

Si quieres rizar el rizo ese campo de exportación podría ser un número que identificara el grupo de registros que has exportado por si se pierde el fichero poder regenerarlo de nuevo sin temor a duplicar datos.

No sé si "mexplico".

Saludos
__________________
Be water my friend.
Responder Con Cita
  #13  
Antiguo 18-12-2013
Oscar Guzmán Oscar Guzmán is offline
Miembro
 
Registrado: oct 2008
Ubicación: Caracas-Venezuela
Posts: 79
Poder: 16
Oscar Guzmán Va por buen camino
Combat y Newton

Gracias por responder y me parecen interesantes ambas ideas y ya las voy a poner en práctica.

Una vez que haga las pruebas pertinentes les confirmo como me fue con las opciones que me plantean

Gracias
__________________
Oskar
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
Ver Los Datos De Diferentes Tablas en una base De datos en access, Desde un DBGrid. feliz-58 Tablas planas 2 24-01-2013 19:16:14
Gmail Drive y base de datos sonjeux Internet 18 04-02-2011 16:05:59
Insertar Datos a un campo de la base de datos desde un DBEdit saltamirano Varios 11 12-12-2007 17:29:35
Crear base de datos y cargar datos desde delphi Albano MySQL 4 17-05-2007 20:01:18
Añadir datos desde una base de datos a un TListBox proyecto Conexión con bases de datos 1 21-11-2006 07:01:19


La franja horaria es GMT +2. Ahora son las 22:09:22.


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