UWP SQLite 错误:“尝试写入只读数据库” [重复]
Posted
技术标签:
【中文标题】UWP SQLite 错误:“尝试写入只读数据库” [重复]【英文标题】:UWP SQLite error: "attempt to write a read-only database" [duplicate] 【发布时间】:2021-05-01 03:10:29 【问题描述】:我正在 Visual Studio 2019 中构建 UWP 应用程序。 在这个项目中,我使用 DBBrowser 创建了一个数据库。
我可以毫无问题地从此数据库中读取所有内容,但是当我尝试向其中写入一些数据时,它给了我错误。 (尝试写一个只读数据库)
谁能帮我解决这个问题,我已经为此工作了几个小时,但找不到解决方案... 我尝试更改数据库的安全属性。我已经重新创建了数据库等。
【问题讨论】:
请考虑将图像剪切到相关部分并添加代码作为文本。一般来说,将可以添加为文本的内容添加为文本。 【参考方案1】:UWP 具有非常严格的文件访问权限。 我建议阅读 File access permissions 文档和以下 SO 线程:
Including SQLite DB file with data in the UWP application How to write to a readonly sqlite file in UWPTL;DR,您应该将数据库放在 ApplicationData
文件夹中。
【讨论】:
感谢您的回复!我在哪里可以找到 ApplicationData 文件夹?我在解决方案资源管理器中找不到它。 @RikS 这是一个 Windows 文件夹:win+R -> %localappdata% -> 包 -> 应用名称 -> LocalState。您可以通过ApplicationData.Current.LocalFolder
在 C# 中访问它。有关如何将数据库移动到此位置的参考代码,请参阅我的第一个 SO 链接。
嗯,我明白了。但是我需要将项目完成后导出给我的老师。这个解决方案有可能吗?因为数据库需要和项目一起导出
@RikS 如果你完成了数据库,你可以将它复制回项目,但是它将是只读的。
感谢您的帮助。当您第一次启动应用程序时,我现在将数据库从 assets 文件夹复制到 ApplicationData 文件夹。它有效!以上是关于UWP SQLite 错误:“尝试写入只读数据库” [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Django 登录错误:在 IIS 中“尝试写入只读数据库”