Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Acceder a access con contraseña (https://www.clubdelphi.com/foros/showthread.php?t=85014)

lbidi 14-01-2014 15:28:57

Acceder a access con contraseña
 
Estimados, feliz 2014.

Resulta que tengo que importar datos desde varias bases access a mi nueva base de datos.
Con el siguiente codigo abro el archivo access.

Código Delphi [-]
conn := 'Provider=Microsoft.Jet.OLEDB.4.0' +
            ';Data Source=' + OpenDialog.Filename +
            ';Persist Security Info=False';
conAD.Connected        := False;
conAD.ConnectionString := Conn;
conAD.Connected        := True;

en donde conAD es una TADOConecction. Me funciona barbaro para todos las bases access, excepto para una que está protegida con contraseña. He activado tambien la opcion LoginPrompt del componente y me pide Usuario y contraseña, por lo que se access no tiene usuario , solo contraseña la cual conozco, y no me hace la coneccion. Tambien he probado con usuario "admin" , "administrador", "blanco" , etc,etc pero sigo sin poder conectarme.

No conozco mucho este componente, quizas deba cambiar algo en la conectionString ?

Muchas gracias a quien pueda ayudarme.

Saludos.

lbidi 14-01-2014 15:48:21

Respondo yo mismo.

No se porque me enrosque en que debia ponerla la contraseña. Si pruebo con Access, me pide la contraseña para entrar, ahora con la AdoConection , la dejo en blanco y puedo acceder al archivo perfectamente.

La verdad , no estoy seguro como funciona.

Gracias.

GerTorresM 31-01-2014 20:47:43

usa esto
 
Código Delphi [-]

function ConexionBDADO(pNombreBaseDatos, pContrasena: String): TAdoConnection;
var ConStr_local : String;
    BaseDatosAplicacion : TAdoConnection;
begin
     Result:= nil;
     if FileExists(pNombreBaseDatos) then
         begin 
       ConStr_local:= 'Provider=Microsoft.Jet.OLEDB.4.0; ' +
       'User ID=Admin;'+
               'Data Source=' + pNombreBaseDatos  + ';' +
               'Persist Security Info=False;' +
               'Jet OLEDB:Database Password=' + pContrasena ;
             BaseDatosAplicacion:= TADOConnection.Create(nil);
             BaseDatosAplicacion.ConnectionString:= ConStr_local;
             BaseDatosAplicacion.LoginPrompt:= False;
             BaseDatosAplicacion.open;
         Result:= BaseDatosAplicacion;
    end
     else begin
          Showmessage('No existe la base de datos');
          exit;
      end;
end;


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

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