unable to open database file
Buenas noches, o días ...
Cita:
Estoy intentando conectar a una BD en SQLite pero sin éxito al hacerlo para Android; les dejo el código por si ven algo que me pueda dar una idea que por que esta fallando, gracias de ante mano y un saludo.
|
Código:
SQLConnection1.Params.Add('database=C:\test.db'); |
Échale un vistazo a este documento.
Tal y como dice Casimiro, el path tal y como lo has puesto fallará en Android. Para ello hay una clase TPath. Revisa la propiedad GetDocumentsPath. Aquí tienes otro ejemplo. |
Buenas de nuevo;
Primero quiero dar las gracias a Casimiro por comentar en donde y por que estaba el fallo En segundo lugar (voy por orden), a Neftali por darme la pista por donde indagar Ya resolví el problema y ya, por fin, me conecta les comento por si a alguien le puede servir también de ayuda.
Total de codigo:
Gracias y un saludo.!!! |
Gracias a tí por compartir el código.
^\||/ |
Cita:
Yo lo que quiero hacer es tener una base SQLite en mi PC y poder copiarla a mi dispositivo Android. Alguna idea? Gracias! Saludos |
nas..!
En la barra ... Project > Deployment Clic en Add file, el icono "posit con chispa" y buscas allá donde tengas la bbdd. En Plataforms clic en [...] y deseleccionas los sistemas que no quieras yo solo dejo Android. En Remote Path pon: assets\ te dejaría una captura pero no puedo |
Cita:
|
Ya hice lo de agregar la bd al Deployment Manager con "assets\" en el Remote Path.
Esto debería hacer que cuando compilo y ejecuto la aplicación directamente sobre mi dispositivo real (no emulador), me copia esta base local al dispositivo? Si es así no estoy logrando que suceda... El remote path "assets\" que significa? Gracias... |
Nas ...
Cita:
Cita:
Cita:
Cita:
El directorio donde te deja la bbdd que se encuentra dentro de tu projecto.... Android\Debug\tu projecto\assets cuando compila Acuerdate luego de llamarla: Si ves que no te funciona pega parte de tu código y le echamos un vistazo. |
1 Archivos Adjunto(s)
Cita:
|
Cita:
gracias y perdón por las molestias. |
Vuelvo a subir la imagen que por manazas borre! :(
|
Muchas gracias.
^\||/^\||/ |
Muchas gracias barakuda!
No estaba seleccionando la plataforma Android, por eso no me pasaba la bbdd! A seguir probando... |
Puede ser la ver de sqlite?
Yo cree la base con Sqlite Administrator, en versión 3.
y seguí esta guía docwiki.embarcadero.com/RADStudio/XE5/en/Creating_an_Android_App pero nada, me da error "unable open database file" Chequeo en la carpeta donde se genera el proyecto andoid y aparece bien la DB. Probé poner el remote path assets/ y assets/internal cambiando la forma de indicar el archivo en el TFDconexion (como dice al final el tutorial que cito) pero me da el mismo error. La copio manualmente al celular en la carpeta /Documents y le pongo así: BASE_TM.Params.values['Database'] := '/sdcard/Documents/base.s3db'; Tampoco funciona , no encuentra el archivo. En windows funciona perfecto. Pero en Android nada. La verdad me mató.....: |
Por si acaso, recuerda que en android los nombres de ficheros, directorios etc. son distintos en minúsculas y mayúsculas.
|
Solución
Después de estar investigando este hilo, al tener el mismo problema, he encontrado una solución. Básicamente hay un método de la clase TPath que te lleva a la carpeta de assets de tu proyecto.
De manera que para cargar la base de datos, o cualquier archivo sería algo así.
Espero que os sirva, un saludo. |
La franja horaria es GMT +2. Ahora son las 17:12:53. |
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