更新时出错。 '尝试写入只读数据库

发布于 2024-10-24 16:24:53 字数 633 浏览 0 评论 0原文

你好,

我正在使用 sqlite 数据库。我知道应用程序崩溃或系统崩溃后数据库被锁定。

我如何避免我的 sqlite 数据库被锁定。

如何在 DML 查询期间检查数据库锁定。

如何打开锁定的数据库。

谢谢曼迪普

下面是我的代码。

NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MyApp.sqlite"];
    return defaultDBPath;

现在我将上面的代码更改为这样。

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
databasePath = [documentsDir stringByAppendingPathComponent:databaseName];

HI

I am using sqlite database. I know after application crash or system crash database get locked..

How I avoid to get my sqlite db locked.

How does I check that database lock during DML queries.

How does I open locked database.

Thanks

Mandeep

following is My Code.

NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MyApp.sqlite"];
    return defaultDBPath;

Now I changed above code to this.

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
databasePath = [documentsDir stringByAppendingPathComponent:databaseName];

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

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

发布评论

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

评论(1

沒落の蓅哖 2024-10-31 16:24:53

在 Cocoa 应用程序中使用 SQLite 的许多示例都提到了将空的“模板”数据库副本存储为应用程序包中的资源的方法。请务必注意,应用程序包不应是可写的,因此此方法要求您将模板复制到可写位置(请使用标准存储位置)并使用文件作为可写副本。

这可能是你的问题吗?

Many examples of using SQLite in Cocoa apps mention the approach of storing an empty "template" database copy as a resource within the application bundle. It's important to note an app bundle is not supposed to be writable, so this approach requires you copy the template to a writable location (use the standard storage locations, please) and use that file as your writable copy.

Could this be your problem?

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