PDA

Ver la Versión Completa : Que esta mal en mi conexion ???


Coco_jac
23-05-2005, 17:14:59
Hola amigos disculpen la molestia, pero no consigo solucionar el problema con mi aplicacion. Mi aplicacion corre desde CD (BD Access solo lectura). Pero no consigo realizar la conexion,me sale un mensaje : Que el motor JET no puede acceder a la BD especificada, que la BD esta abierta de forma exlusiva por otro usuario o no tengo autorizacion.
Creo que el error esta en la conexion falta especicar algo mas,pero si lo corro desde maquina todo marcha bien.Utilizo ADOConnection para tal y delphi 7.0
Mi BD esta en modo exlusiva para evitar que se escriba el archivo .ldb , cosa que he leido que se tiene que hacer y supuestamente es suficiente pero no se que pasa que no realiza la conexion.



MyConnection:TAdoConnection;
Procedure ConectarMyBase(RutaBD:WideString);
begin
MyConnection:=TADOConnection.Create(nil);
MyConnection.ConnectionString:=Provider=Microsoft.Jet.OLEDB.4.0;
Data Source='+RutaBD+';
Jet OLEDB database Password="09D0F50F605D08E07A";
Mode=Share Deny Read|Share Deny Write;Persist Security Info=False;'
MyConnection.LoginPrompt:= false;
MyConnection.Connected:= true;
end;

// Todo en la misma linea por supuesto.

RutaBD : la ruta de las diferentes BD que se usa, ya que se puede consultar varias BD.
ojala me puedan ayudar, ya que varias veces he mandado mi problema pero no consigo solucionarlo.
Muchas gracias de antemano...

marcoszorrilla
23-05-2005, 17:17:32
Si funciona desde la máquina en donde esta la BD y desde otras no es porque no le has dado el camino a través de la red.

\\Maquina\Carpeta\Bd

Con este camino debe de acceder también la máquina en donde se encuentra la bd.

Un Saludo.

Coco_jac
23-05-2005, 17:29:18
Gracias por responder tan rapido, pero creo que no me especifique bien, pero las BDs ( Access) estan incluidas en le CD.
Me han comentado que con ADO puedo incluso acceder a una BD sea cualquiera el disposito usado, en este caso CD, otro me han dicho que ADO trata de escribir en disco.cosa q me tiene loco...

marcoszorrilla
23-05-2005, 17:39:27
Siempre que se abre un Bd Access, el sistema abre un archivo con el mismo nombre y tipo ldb, que es donde se guardan los bloqueos, supongo que por ahí viene el problema que cuando trata de crear este archivo no puede por ser el dispositivo de solo lectura, habría que investigar para que utilice por ejemplo la carpeta temp de Windows.

Un Saludo.

Coco_jac
23-05-2005, 17:59:55
Lei sobre este caso y me sugerieron que la BD debe estar en modo exlusivo cosa que hago y menciono en mi codigo ,de manera que ya no se crea el bendito archivo .LDB ,lo probe como mencione en maquina con lo mecionado y no se crea el .ldb y todo bien. He visto en foros de VB con el mismo problema y me sugerian lo mismo "BD exlusiva" y es todo que no habia problema para ello, pero no se que pasa en delphi.
Gracias por tus comentarios .........