无法写入数据库

发布于 2024-11-13 08:41:04 字数 349 浏览 5 评论 0原文

你好呀 我开发了一个使用 SQLlite 数据库的应用程序,但是在创建安装项目并安装它之后,我在写入它时遇到异常,

System.Data.SQLite.SQLiteException: Attempt to write a read-only database

问题是什么?

在视觉工作室开发时它工作正常

编辑 我添加了用户Everyone,并将其分配给放置数据库的文件夹的所有权限。该文件夹是由安装程序创建的,现在可以使用,但是我应该做什么来避免这种情况..........因为这个文件夹在哪里将部署应用程序,他们不太懂计算机,无法手动执行此操作

Hi there
I developed an applicaiton that uses SQLlite database but after making setup project and installing it i get exceptions when writing to it

System.Data.SQLite.SQLiteException: Attempt to write a read-only database

what is the problem?

it works fine while developing at visual studio

EDIT
I added user Everyone and assigned it all rights to the folder where the database is placed.that folder was created by the installer and it worked now but what should I do to avoid this ..........because where this application will be deployed they are not much computer literate to do this manually

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

镜花水月 2024-11-20 08:41:04

在链接论坛中,常见的根本原因是权限问题。

http://sqlite.phxsoftware.com/forums/p/864/7498。 aspx

更新

为什么不加密sqlite数据库

用C#加密SQLite数据库

In the link forum, the common root cause is permission issue.

http://sqlite.phxsoftware.com/forums/p/864/7498.aspx

Update

Why not encrypt the sqlite database

Encrypt SQLite database in C#

浅听莫相离 2024-11-20 08:41:04

数据库不应与 exe 文件位于同一文件夹中。出于安全原因,exe 文件(即程序文件)的位置受到保护,修改权限并不是可行的方法。

您应该将需要写入的数据放在用户数据区,或者所有用户的数据区。

您可以使用 SHGetSpecialFolderPath 找到此文件夹

The database should not be in the same folder as the exe file. The location of exe files, i.e. program files, is protected for security reasons, and modifying the permissions is not the way to go.

You should put data that needs to be written to in the users data area, or the data area for all users.

You can locate this folder using SHGetSpecialFolderPath

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文