PDA

Ver la Versión Completa : Problemas al conectar una tabla ADO a una base de datos de Access que posee contraseñ


Roger_Fernandez
06-09-2004, 07:04:12
Hola.

Tengo un problema que no he podido solucionar.

He creado una aplicacion que utiliza tablas ADO para conectarse con una base de
datos creada por Microsoft Access.
Utilizo como proveedor al Microsoft JET 4.0 OLE DB.
La aplicacion esta creada en Delphi 5.
Sucede que cuando la base de datos no tiene contraseña, la aplicacion funciona perfectamente.
Pero por cuestiones de seguridad, la base de datos debe estar resguardada por contraseña.
Al ponerle la contraseña a la base de datos, el programa me da un error en la conexion de las tablas con la base de datos.
Esto ocurre tanto en tiempo de diseño, es decir, si quiero conectar la table o un ADOConection a traves del Objet Inspector, como en tiempo de ejecucion, en el momento en que el programa debe abrir las tablas.
Creo que le estoy pasando correctamente el nombre de usuario y la contraseña.
Igualmente por el mensaje de error no parece que el problema este en la contraseña en si.
El mensaje de error es:
'No se puede iniciar la aplicacion. Falta el archivo de informacion del grupo de trabajo o bien esta abierto en modo exclusivo por otro usuario.'
Este archivo de informacion del grupo de trabajo es un archivo que genera Access y que suele estar ubicado em 'C:\WINDOWS\Application Data\Microsoft\Access'.
Probe ponerlo en la misma carpeta que la base de datos y el programa pero el error continua.
Si alguien puede asesorarme con el tema le estaría muy agradecido, por que yo no he encontrado la solucion.

Roger - Carlos Paz - Argentina

CHiCoLiTa
06-09-2004, 09:36:49
Al crear la conexion estaticamente en tiempo de diseño, en la pestaña conexion te aparece usuario y contraseña, verdad? Pues bien, ignoralo y vete a la ultima pestaña (Todas) y alli encontraras dos campos, Password y User ID. Esos son tus campos que debes rellenar.

davezf
23-02-2005, 17:29:36
Hola,

Yo tengo el mismo problema. He puesto la contraseña donde dices y sigo teniendo el mismo mensaje de error. Puedes darme una solucion?

Toñico
28-02-2005, 13:42:11
Hola a todos,

la contraseña no se la tienes que dar al usuario, sino a la base de datos. En la pestaña Todas elige la opción Jet OLEDB Database Password y escribes la contraseña.

Un saludo

Enan0
28-02-2005, 15:45:03
Hola Roger, el tema es que si queres conecar a una base de datos del tipo access con pass lo tenes que hacer a travez de ODBC y asignarle es pass.. o sino utilizar un STRING DE CONEXCION COMO ESTE


Conn:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +ExtractFilePath(Application.ExeName);
conn:=conn + 'BASE DE DATOS.mdb;Mode=ReadWrite;';
conn:=conn + 'Persist Security Info=False;Jet OLEDB:Encrypt Database=True;';
Conn:=conn +' Jet OLEDB:Compact Without Replica Repair=True;';
Conn:=conn + 'Jet OLEDB:Database Password=PASSWORD';

fijate de cambiar BASE DE DATOS por tu base de datos y PASSWORD por el PSSW que le allas asignado a la base

davezf
28-02-2005, 16:46:29
Lo he solucionado como indica Toñico, pero la opcion de Enan0 me sera bastante util en otro programa.

Gracias a los 2.