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 08-06-2004
azaagh azaagh is offline
Miembro
 
Registrado: jun 2004
Posts: 34
Poder: 0
azaagh Va por buen camino
copia de seguridad

como se podria hacer una copia de seguridad a una base de datos....unicamente usando codigo
Responder Con Cita
  #2  
Antiguo 08-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hola azaagh.

Bienvenido(a) a los foros del Clubdelphi.

Ya que veo que sos un usuario nuevo/a de los foros, te recomiendo la lectura de la guia de estilo de los foros, que contiene las reglas básicas de convivencia de este lugar.

Dado que tu pregunta, en este caso, resulta ser bastante escueta, también te voy a recomendar la lectura del hilo de la calidad de las preguntas, donde se encuentra un debate que puede crearte una idea muy clara de los datos que debieras incluir al formular una pregunta.

Al menos en este caso resulta evidente la falta de información sobre el motor de datos que usas (no es lo mismo hacer un backup de una bd oracle, que de una bd en firebird), asi como los componentes de conexión que usas, quizas pueda ser relevante el sistema operativo del servidor y del cliente, asi como el nivel de acceso del usuario de la aplicación a los recursos del servidor....

En fin... mejor lee el hilo y vos mismo sabras cuales de estos (y otros) datos hagan falta.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 08-06-2004
Avatar de weke
weke weke is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia
Posts: 170
Poder: 21
weke Va por buen camino
Buenos dias!!
Esta es una cuestión que tenía pendiente para cuando acabara mi apilcación, pero aprovechando que ya han realizado la pregunta, preguntaré como se haría con mi aplicación.
Yo estoy utilizando un base de datos Access, y para la conexión estoy empezando a utilizar ADO. De momento no lo tengo todo modificado, ya que antes utilizaba BDE, pero como había un par de cosillas que no podía solucionarlas me he pasado a ADO a ver que tal.

Muchas gracias y si falta algún dato más no dudeis en preguntarlo.

Saludos.
__________________
De lo bueno lo mejor, de lo mejor lo superior.
Responder Con Cita
  #4  
Antiguo 08-06-2004
azaagh azaagh is offline
Miembro
 
Registrado: jun 2004
Posts: 34
Poder: 0
azaagh Va por buen camino
Question

joder, jachguate, supongo que tienes razon..

bueno, el problema es que tengo varias bases de datos DBE en paradox 7... cada tabla con + de 200 registros que en el programa se veran manipulados por el usuario, asi que estoy intentando que al crear un nuevo usuario te cree una copia de la base de datos en una carpeta con el mismo nombre que el usuario, y al hacer login, cambiar a la base de datos de cada individuo.

Subrayado lo que no se hacer y os pido una ayudita

espero vuestras respuestas
Responder Con Cita
  #5  
Antiguo 08-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Para weke:

Una base de datos Access se compone sólo de un archivo, por lo que puedes hacer el backup como más gustes, es decir, puedes copiar el archivo tal cual en otro dispositivo, en otro PC de la red o... incluso comprimir el archivo.
En mi web tienes una demo de como hacer una copia de archivos (mediante compresión con los ZLib) y como copiar archivos de una carpeta a otra

Para azaagh

Lo dicho, para copiar archivos de una carpeta a otra (y sus subdirectorios si tubiera) en mi web tienes un algoritmo que te lo hace (y que os puede servir de guía para hacer lo que queréis).
Para crear una carpeta nueva, mírate la función CreateDir

Espero que os sirva
Responder Con Cita
  #6  
Antiguo 08-06-2004
Avatar de weke
weke weke is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia
Posts: 170
Poder: 21
weke Va por buen camino
Muchas gracias, me lo apunto y cuando acabe la aplicación ya decidiré como hacerlo. Aun no se lo que será más conveniente.

Muchas gracias y saludos!!!
__________________
De lo bueno lo mejor, de lo mejor lo superior.
Responder Con Cita
  #7  
Antiguo 08-06-2004
azaagh azaagh is offline
Miembro
 
Registrado: jun 2004
Posts: 34
Poder: 0
azaagh Va por buen camino
supongo que es este del que me hablas:

si no te resulta muy molesto....podrias comentarlo? es que no solo me quiero limitar a copiar...tambien habra que aprender...(digo yo)

Código Delphi [-]
procedure CopyDirectory(Origen, Destino: string);
var
  Files : integer;
  FOrigen : string;
  FDestino : string;
  ok : boolean;
  Search : TSearchRec;
begin
  Files := FindFirst(Origen + '\*.*', faAnyFile, Search);
  while Files = 0 do
  begin
    if Search.Attr <> faDirectory then
    begin
      FOrigen := Origen + '\' + Search.Name;
      FDestino := Destino + '\' + Search.Name;
      ok := CopyFile(PChar(FOrigen), PChar(FDestino), false);
      if not ok then ShowMessage('No se pudo copiar el fichero: ' + Search.Name);
    end
    else
    begin
      if (Search.Name <> '.') and (Search.Name <> '..') then
      begin
        ok := CreateDir(Destino + '\' + Search.Name);
        if not ok then ShowMessage('No se pudo crear el directorio: ' + Search.Name)
        else CopyDirectory(Origen + '\' + Search.Name, Destino + '\' + Search.Name);
      end;
    end;
    Files := FindNext(Search);
  end;
  FindClose(Search);
end;

pues lo dicho, hay muchas funciones que desconozco...haber si comentas que hace exactamente cada cosa....

Última edición por __cadetill fecha: 08-06-2004 a las 10:01:56. Razón: establecer indentación
Responder Con Cita
  #8  
Antiguo 08-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Te recomiendo que utilices la ayuda del propio Delphi. El algoritmo es bastante sencillo y aprovechas la oportunidad para aprender a explotar la (buena) ayuda de la herramienta.

Basta que ubiques el cursor sobre cualquier función o procedimiento en el editor, y pulses F1, para ir directo a la ayuda de esa rutina.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #9  
Antiguo 08-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Veamos

Te explico a grandes rasgos lo que hace la función. Luego buscamos en la ayuda las funciones de Delphi que no conozcamos (como dice el amigo Juan Antonio) y, si te queda alguna duda, lo volvemos a hablar

Básicamente es una función recursiva, es decir, es una función que se llama a si misma si fuera necesario.

Qué es lo que hace? Bien, es sencillo. Lo que hace es leer todos los archivos que hay en una carpeta (directorio) mediante un bucle (while). Si el archivo leido es otra carpeta (exceptualdo el '.' (que es el propio directorio) y '..' (que es el directorio padre)), vuelve a hacer la llamada a la función pasándole como parámetro la nueva carpeta

Si es un archivo normal, simplemente copia el archivo de la carpeta origen a la destino.

Es así de sencillo. Te aconsejo que mires en la ayuda sobre TSearchRect, FindFirst, FindNext y FindClose y si tienes más dudas..... vuelve por aquí

Espero te sirva la explicación
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


La franja horaria es GMT +2. Ahora son las 01:27:16.


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