在.NET maui应用程序中创建sqlite db,它工作正常,将数据库复制到PC,然后复制回设备,它会使应用程序崩溃

wnvonmuf  于 2023-05-07  发布在  SQLite
关注(0)|答案(1)|浏览(201)

我正在使用Microsoft.Data.Sqlite在. NETMaui(Android)中创建一个SQLite数据库,如果在加载目标应用程序时,该数据库不存在,则在Android移动终端的“Downloads”文件夹中创建一个SQLite数据库。此过程工作正常。创建了一个有效的可读、可写数据库,没有任何问题。然而,在关闭移动的应用程序并通过USB将Android移动终端连接到我的PC后,这些是我遵循的导致我的问题的步骤:
1.将移动的应用程序在Downloads文件夹中创建的相同SQLite数据库复制到我的本地PC上的文件夹中
1.从“下载”文件夹中删除原始移动终端数据库
1.将“复制”的原始SQLite数据库从PC复制回移动终端的“Downloads”文件夹。
1.重新启动移动的应用程序。
每次我尝试在这一点之后打开应用程序时,应用程序都会崩溃。我验证了数据库不是“只读”的。我能够在DB Browser for SQLite中打开文件,并验证没有加密或损坏影响文件。我能在日志中找到的唯一错误是“Microsoft.Data.Sqlite.SqliteException:'SQLite错误14:'unable to open database file'.'”Nothing regarding permissions,or anything else that I can see.
我接受这可能是简单的事情,或者我可能会通过使用应用程序数据库的“Downloads”文件夹来破坏移动的应用程序协议(当我将数据库存储在应用程序目录fyi中时也会发生同样的问题)。有没有人能建议一个更好的方法来将数据库从本地PC移动到Android移动的应用程序,或者修复上面强调的复制问题?先谢谢你了。

krugob8w

krugob8w1#

1.你试过从电脑断开设备吗?
1.重新启动设备可能会有帮助。
1.使用不同的名称为一个从pc传输;听起来设备操作系统中关于那个文件有一些“混乱”(原始与下载)。
3a.使用一个只有小写字母加下划线的名字,没有空格。
1.使用任何基于云的文档存储是一种替代传输方式。
1.也许对于大文件或二进制文件不实用,但设备的剪贴板有时对传输数据很有用。例如,我在应用程序文本框和Google文档之间复制/粘贴XML,作为交换测试数据的一种方式。

相关问题