problemas con app.path

pco_barny
06 de Abril del 2004
Buenas, lo que me ocurre es que tengo un proyecto que usa ADO para acceder a la BD, la cadena de conexión es esta:

con.connectionstring ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= CMis documentoscybercyber.mdb;Persist Security Info=False"

supuestamente al crear el instalable así no me encontrará la base de datos si la creo en otra carpeta ¿verdad?
Pues lo que hago es que en todas las cadenas de conexión que tengo las cambio la ruta que tienen por Data source = app.path & "cyber.mdb", pero en el programa instalable ya me da error diciendo que la ruta no es válida. Estoy loco ya con el tema este jeje
ademas he cambiado a otras opciones como = app.path & "" & ciber.mdb y alguna más pero no hay manera.
Si alguien me puede ayudar.....
muchas gracias de antemano.

nicop
06 de Abril del 2004
con.connectionstring ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + app.path & "cyber.mdb" + ";Persist Security Info=False"
ahi lo tenes , cualquier cosa mandame un mail que te doy otros ejemplos.

sdemingo
06 de Abril del 2004
Hola,

otra opción es crear un programita que instale la base de datos a parte de la aplicación y que guarde en el registro la ruta donde el usuario instaló la bd.

Desde tu aplicación en vb accedes a la entrada de registro donde guardaste la ruta y te curas en salud.

De todas formas un par de cosillas más:

- Para hacer los instalables de tu proyecto yo utilizaría el setup factory.

- Cuando uses el app.path, ten en cuenta que dependiendo de la versión de windows donde se ejecute, el app.path devuelve la barra "" o no al final del string, por ello siempre debes hacer la siguiente comprobación antes de utilizarlo:

If Right(App.Path, 1) = "" Then
ruta = App.Path & "cyber.mdb"
Else
ruta = App.Path & "cyber.mdb"
End If

con.connectionstring ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + ruta + ";Persist Security Info=False"

salu2
sdemingo


krizall
06 de Abril del 2004
HOLA.. TALVES SI INTENTAS CREAR UN FORMULARIO DE CONFIGURACION PARA EL PATH DE LA BASE SERIA MAS FACIL.. DE ESTE MODO SIEMPRE QUE CAMBIES DE LUGAR LA BASE DE DATOS TIENES QUE CONFIGURAR LA CADENA DE CONEXION, PERO DE ESTA MANERA SIEMPRE ESTARAS SEGURO DE QUE ES CORRECTA...LA DIRECCION DE LA BD LA PUEDES GUARDAR EN UN ARCHIVO INI Y CADA VES QUE ENTRES A LA APLICACION VERIFICAS QUE EXISTA EL ARCHIVO ASI COMO TAMBIEN QUE LA RUTA SEA LA CORRECTA EN CASO DE QUE NO EXISTA LA CREAS Y EN CASO DE QUE SEA INCORRECTA MANDAS EL FORMULARIO DE CONFIGURACION...
BUENO, ESPERO TE SIRVA DE LAGO Y SI QUIERES CODIGO SOLO ESCRIBEME.. SI TENGO SUERTE ENTRARE TODA ESTA SEMANA EL NET. Y PODRE AYUDARTE..

jose oscar
06 de Abril del 2004
Debes crear la carpeta un carpeta donde esta tu aplicacion y despues mover la base de datos y por ultimo ya te funcionara el app.path.El error que te da es que no encuentra la base de datos en app.path.

Un saludo
Jose Oscar

lucas
06 de Abril del 2004
Para solucionar todos los problemas con los paquetes de instalacion.

Prueba a hacerlo con InstallShield Developer.