Spanish [SOLUCIONADO] SQL, me borra cosa rara

TheFalcon

Active Member
Licensed User
Longtime User
chej lo acabo de probar y me da el mismo error

B4X:
    mDATOS.Initialize( mPath, Base_de_Datos, False)

B4X:
android.database.sqlite.SQLiteCantOpenDatabaseException: Cannot open database '/storage/emulated/0/Android/data/Fjo.MandoCadesoft/files/Tdesplegables.db' with flags 0x10: File /storage/emulated/0/Android/data/Fjo.MandoCadesoft/files/Tdesplegables.db doesn't exist

también probé descargándolas en datos como tu ejemplo y mismo error, el resto de tabla me las copia y inicializa bien. que me gusta la programación cuando salen estas cosas xDDD.

Eso si con tu permiso me quedo tu Función para usarla que es limpia y practica, si no te importa
 

josejad

Expert
Licensed User
Longtime User
Hola TheFalcon:

En la base de datos que falla tienes dos claves primarias (que no tienes en las otras) Prueba a eliminarla o a crear una nueva base de datos solo con la clave primaria

1772732938052.png
 

TheFalcon

Active Member
Licensed User
Longtime User
Lo mismo Jose, lo que me Jode es que es SOLO esa BD. desde el PC trabaja en ella sin problemas, el traérmela es para agilizar las consultas, pero si no , intentare abrirla directamente en el pc desde el dispositivo móvil
 

josejad

Expert
Licensed User
Longtime User
Hola de nuevo:

Cambia el nombre de id a algún otro. He probado id_desplegable y ha funcionado. ¿Por qué? no lo sé...
 

TheFalcon

Active Member
Licensed User
Longtime User
Me sigue fallando pero e probado a crear una BD Nueva, e ir creando Columna por columna, cuando creo la Tabla Articulo con todas sus columnas Perfecto, en el momento que creo la 2 Tabla y creo el 1º registro ya me da el error. , pero ahora borro esa tabla y continua el error. Probe tanto a guardar en file.dirdefault como File.dirinternal , para borrar antes de recoger
 

TheFalcon

Active Member
Licensed User
Longtime User
Ya lo arregle, después de probar 500 bases de datos nuevas siempre igual el problema estaba que no se por que esa BD no la copiaba entera bien, ero solo esa.

Para descargar yo usaba
B4X:
    If j.Success Then
            File.Copy2(j.GetInputStream, File.OpenOutput(File.DirInternal, j.JobName, False))
          
        Else
            Log("Error: " & j.ErrorMessage)
            'v.8.4 si entro aqui es qeu NO encuentra las tablas, seguramente por que la empresa no existe
            MsgboxAsync("No es posible descargar los Archivos, Verifique la IP y la Empresa","Atenció")
            Exit
        End If

el arreglado es este, qeu solo tiene el CLOSE para cerrar la Base De datos cada vez que la descargo, 1 mierda de linea me lleva mareado 1 mes

B4X:
If j.Success Then
            Dim out As OutputStream = File.OpenOutput(File.DirInternal, j.JobName, False)
            File.Copy2(j.GetInputStream, out)
        
        out.Close ' <--- ESTO ES VITAL: Fuerza el guardado físico del archivo con esto arreglo el problema
        
        Else
            Log("Error: " & j.ErrorMessage)
                        MsgboxAsync("No es posible descargar los Archivos, Verifique la IP y la Empresa","Atenció")
            Exit
        End If


y con esto va perfecto, hasta modifique el codigo del programa VB.net por si era eso, la madre que ....
aqui lo dejo por si alguien mas le pasa algo similar.
Gracias a Tod@s
 
Top