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 09-11-2004
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Question ¿Como Compacto Una Base de ACCESS?

Hola amigos, estoy buscando ayuda de como compactar y reparar una base de Datos en Access, utilizo Delphi, y la verdad es que no tengo idea de como se hace, GRacias!!!!
Responder Con Cita
  #2  
Antiguo 09-11-2004
Avatar de taita
taita taita is offline
Miembro
 
Registrado: sep 2003
Ubicación: Murcia, San Pedro del Pinatar
Posts: 115
Poder: 21
taita Va por buen camino
Post

Hola Enan0:

Te pongo aqui este código que es el que yo utilizo para compactar mis bases de datos. Espero que te sirva.
Código Delphi [-]
  function DatabaseCompact (const sdbName: WideString) : boolean;
  var
  JE : TJetEngine; //Jet Engine
  sdbTemp : WideString; //TEMP database
  sdbTempConn : WideString; //Connection string
  
  const
  SProvider = 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=';
  
  begin
  Result:=False;
  sdbTemp := ExtractFileDir(sdbName) + 'TEMP' + ExtractFileName(sdbName);
  sdbTempConn := SProvider + sdbtemp;
  if FileExists(sdbTemp) then DeleteFile(sdbTemp);
  JE:= TJetEngine.Create(Application);
  try
    try
      JE.CompactDatabase(SProvider + sdbName, sdbTempConn);
      DeleteFile(sdbName);
      RenameFile(sdbTemp, sdbName);
    except
      on E:Exception do
        ShowMessage(E.Message);
      end;
    finally
      JE.FreeOnRelease;
    Result:=True;
  end;
  end;
Para llamar a la función se utiliza esta linea:
Código Delphi [-]
  DatabaseCompact('C:\directorio\base.mdb');
Espero que te sirva. Saludos!.
__________________
No sabiendo que era imposible... él fue... y lo hizo!!!
En fase de construcción: LoBusco.com más .com que nunca!

Última edición por taita fecha: 09-11-2004 a las 17:02:22.
Responder Con Cita
  #3  
Antiguo 09-11-2004
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.278
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
Post

Un añadido (que sino no funciona...):

1- debes añadir la unit JRO_TLB a la clausula USES.
2- La Base de Datos de ser de uso exclusivo cuando realices esta operación.
3- Si hay problemas con la unit JRO_TLB:
a) Desde el IDE ir a Project - Import Type Library.
b) Buscar en la lista "Microsoft Jet and Replication Objects 2.1 Library".
c) Install.
d) Recompilar.
__________________
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 09-11-2004
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Siguientes Errores en Delphi 6

Cuando quiero complilar el JRO_TLB.pas me tira los siguientes errores, por lo que lei es que es un error del compilador del Delphi 6, segun las opciones que encontre es que lo haga en delphi 5 (cosa que no tengo y de la pag de borland no se puede bajar mas) o sino que modifique esos campos a mano (cosa que no se hacer ).

Si alguien los tiene compilados y andando.. no me los manda a

enanosoft@gmail.com


[Error] JRO_TLB.pas(594): Undeclared identifier: 'ActiveConnection'
[Error] JRO_TLB.pas(628): Cannot assign to a read-only property
[Error] JRO_TLB.pas(656): Cannot assign to a read-only property

Gracias
Responder Con Cita
  #5  
Antiguo 29-11-2004
perrogrun perrogrun is offline
Miembro
 
Registrado: ene 2004
Ubicación: Fuengirola
Posts: 41
Poder: 0
perrogrun Va por buen camino
Yo estoy igual que tu.

No hay solución para delphi 6?
Responder Con Cita
  #6  
Antiguo 30-11-2004
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.278
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
Yo tengo w2k y Delphi 6 con Update pack 2.
He seguido los pasos (a) y (b), sólo que en micaso he encontrado "Microsoft Jet and Replication Objects 2.6 Library" en lugar de la 2.1 y luego "Create Unit" y me la ha importado y compilado sin nigun problema.
__________________
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
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 06:53:53.


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