Club Delphi  
    Paypal   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 25-10-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: 19.475
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
Se puede hacer compactando la Base de Datos y dando un nuevo password para el proceso.
Importa la librería "Microsoft Jet and Replication Objects 2.6 Library" desde delphi y utiliza el siguiente código:

Código Delphi [-]
uses JRO_TLB;
 
procedure TForm1.Button1Click(Sender: TObject);
var
 engine: IJetEngine;
 src, dst, path: WideString;
begin
 // Directio donde se encuentra
 path := 'c:\temp\';
 //src: Base de Datos existente con assword antiguo
 src := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + path + 'dbdemos.mdb' +
  ';Jet OLEDBatabase Password=ANTIGUO';
  //dst: Base de Datos nueva con password cambiado
 dst := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + path + 'dbDemosNew.mdb' +
  ';Jet OLEDBatabase Password=NUEVO';
 
  // Compactar y cambiar el password
 engine := CoJetEngine.Create();
 engine.CompactDatabase(src, dst);
end;

La Base de Datos se debe abrir en modo exclusivo. Ésto te debe generar una base de datos nueva con el nuevo password; Si deseas luego puedes borrar la antigua (DeleteFile) y renombrar la nueva (RenameFile).
__________________
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
  #2  
Antiguo 26-10-2004
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 24
joanajj Va por buen camino
Funcionaaaa!!! una duda más

Buenos días, ante todo gracias. He probado lo que me dijistes y funciona perfectamente. Incluso, me facilita la tarea de compactar y reparar, ya que para hacerlo, usaba un createole yu llamaba a funciones access, lo que implica que el usuario tenga access instalado, y de esta forma no.
Tenga un par de dudas acerca de lo mismo, y te las pongo aquí para no salir del tema.

1ª) De la misma forma, aparte de cambiar la clave, es posible cambiar el usuario admin??? donde puede ver las funciones que hay en la librería que me dijistes???

2º) Necesito encriptar la clave de BD, pero el problema es que para introducir la clave sale el login prompt de BD, sabes si hay un evento al que pueda llamar antes de que la base de datos reciba la clave. Es decir

Clave: hola
encriptada,&/
Entonces en login prompt: usuario admin clave: hola(pero la bd debe recibir (,&/, )no se si lo has pillado. Además, es posible meter la clave a la BD a mano, para evitar el login prompt y así personalisar la petición de clave??

Espero no haberte enrrollado, un saludo...
Responder Con Cita
  #3  
Antiguo 26-10-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: 19.475
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
Cita:
Empezado por joanajj
1ª) De la misma forma, aparte de cambiar la clave, es posible cambiar el usuario admin??? donde puede ver las funciones que hay en la librería que me dijistes???

2º) Necesito encriptar la clave de BD, pero el problema es que para introducir la clave sale el login prompt de BD, sabes si hay un evento al que pueda llamar antes de que la base de datos reciba la clave. Es decir
(1) Dentro de la cadena de conexión se pueden añadir:
User ID=Admin;Password=Password;
donde puedes colocar éstos parámetros de conexión.

(2) La Clave a mano puedes introducirla como te he comentado antes.
__________________
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 26-10-2004
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 24
joanajj Va por buen camino
Lo probaré

Gracias de nuevo, por responder. Voy a probar.
Pero hay algo que no comprendo, la cadena que me pasastes era para compactar y cambiar clave, pero para identificarse sería otra cadena??? ya que al arrancar la aplicación, solo necesito identificarme y evitar el login prompt.


Gracias de nuevo...
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 19:40:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi