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 01-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 21
ruina Va por buen camino
Añado algo: tengo muy malas experiencias con "machacar" una Db de mysql, si ha sido abierta y tenemos el servicio corriendo, suele hacer cosas "raras", como copiar solo un cacho y cosas asi.

si sabes que el directorio de tu db existe yo tiraria el servicio:
C:\mysql\bin\mysqladmin -u root shutdown (fuente: manual mysql)

despues copiar la db...

y despues volver a levantar el servicio:
C:\mysql\bin\mysqld --install

Por cierto, si es una db Gorda igual te mola sacar una barra de progreso, en lugar de hacerte tu una puedes usar el Shell para copiarla

Código Delphi [-]
uses ShellAPI
...
   function CopiaTodo(Origen,Destino : String) :{fuente Trucomania}
   LongInt;
   var
     F : TShFileOpStruct;
     sOrigen, sDestino : String;
   begin
     Result := 0;
     sOrigen := Origen + #0;
     sDestino := Destino + #0;
     with F do
     begin
       Wnd   := 0;
       wFunc := FO_COPY;
       pFrom := @sOrigen[1];
       pTo   := @sDestino[1];
       fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION  or FOF_NOCONFIRMMKDIR;
     end;
     Result := ShFileOperation(F);
 end;
Responder Con Cita
  #2  
Antiguo 01-07-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por ruina
Añado algo: tengo muy malas experiencias con "machacar" una Db de mysql, si ha sido abierta y tenemos el servicio corriendo, suele hacer cosas "raras", como copiar solo un cacho y cosas asi.

si sabes que el directorio de tu db existe yo tiraria el servicio:
C:\mysql\bin\mysqladmin -u root shutdown (fuente: manual mysql)

despues copiar la db...

y despues volver a levantar el servicio:
C:\mysql\bin\mysqld --install
De hecho yo no creo que ésta sea la forma adecuada de copiar una base de datos. Para empezar, como bien dices, lo más seguro sería bajar el servidor pero un servidor no se tira así nada más como así ya que pudiera haber muchos servicos que dependan de él. Segundo, las versiones de MySql deberán ser exactamente las mismas. Las pruebas que he hecho a raiz de este hilo para copiar físicamente las tablas han devenido en un derrumbe del servidor al intentar aceder a las copias en el servidor destino.

MySql ya provee una herramienta para el resplado de bases de datos, MySqlDump, y si se requiere hacer por código se puede hacer de muchas fomas como puede ser simplemente el uso de dos datasets que accedan a ambos servidores y utilizar un ciclo para copiar uno a uno los registros o bien sentencias del tipo INSERT INTO OUTFILE y LOAD DATA IN FILE.

// Saludos
Responder Con Cita
  #3  
Antiguo 03-07-2004
Juan Carlos Juan Carlos is offline
Miembro
 
Registrado: may 2004
Posts: 24
Poder: 0
Juan Carlos Va por buen camino
Muchas Gracias!!!

Les agredezco por su respuestas, han sido de gran ayuda
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 12:48:27.


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