PDA

Ver la Versión Completa : Mi aplicacion no corre desde CD


Coco_jac
06-05-2005, 23:27:50
Hola amigos del foro.
Tengo un problema el cual necesito resolver con urgencia.Pasa que mi aplicacion corre desde la Unidad de cd. Pero lo que pasa es que no se llega a conectar a las diferentes BDs los cuales son seleccionados previamente.
en el Cd se encuentra el ejecutable, las diferentes BDs, y los archivos relacionados.
Lo he probado, en varias maquinas y funciona bien, pero no desde la unidad CD, no se que pasa.
Utilizo ExtractFilePath(Application.EXEName), para saber la ruta de la carpeta donde se encuentra mi aplicacion, lo he preobado y esta correcto pero no llega a conectarse.
les dejo parte de mi codigo que uso para conectarme:
(El cual se encuentra en una unidad "Modulebd")

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

y Asi lo llamo :

Modulebd.ConectarMyBase(Modulebd.MyrutaBD);

Utilizo Delphi 7.0 y Motor de BD Access.
les agradesco su ayuda.....

Lepe
07-05-2005, 17:45:17
El CD es de solo lectura, y aunque sea un regrabable, no creo que los registros se puedan agregar alegremente a la base de datos en el CD.

Por otro lado está el tema de archivos temporales, archivos .ini, etc. Si en algun momento el programa usa la unidad "activa" para crear un archivo temporal, el techo se viene abajo.

Graba tu aplicación en el disco duro, y es más que probable, que tengas que quitarle el atributo de solo lectura a todos los archivos.

Un saludo.

Delfino
07-05-2005, 22:06:06
Si su BD tiene q ser solo lectura puedes poner en tu poner ClientDataset por AdoDataset; pinchar con el boton derecho sobre el cds y "Assign Local Data" desde el AdoDataset, asi puedes presindir de ADO y al compilar hasta los datos se incrustan en el ejecutable el cual puedes grabar en el CD..

Coco_jac
08-05-2005, 02:46:31
Amigos del foro disculpen por no explicarme bien, pero mi aplicacion es de solo lectura, y para ese caso las bases de datos que manejo estan en modo exclusivo(Mode=Share Deny Read|Share Deny Write), de manera que no hay problema en ese aspecto. la aplicacion obligatoriamente tiene que ser levantada del CD, mi aplicacion corresponde a consultas sobre los datos existentes (documentos almancenados).

Espero que despues de esta aclaracion me puedan ayudar con respecto a esto
les agradesco su atencion...

Delfino
09-05-2005, 19:20:28
Le hemos entendido muy bien, pero si no me equivoco el ADO escribe datos a disco aunque la BD este de solo lectura, por eso no funciona desde CD pq intenta escribir al CD y claro no puede. Si llegas a probar la opcion del Clientdataset seguro q no te arrepentiras..

Coco_jac
09-05-2005, 20:43:18
gracias delfino, no he utilizado ese componente pero probare y les aviso que fue .....

Coco_jac
09-05-2005, 21:14:10
Gracias de verdad delfino por tus comentarios pero me podrias pasar un poco de codigo ya que no he usado ese componente y necesito de urgencia solucionarlo......