2

我正在构建一个使用 sqlite3 的类
现在可能会发生数据库被锁定的情况,因为我正在处理许多查询。
现在我想使用方法 sqlite3_unlock_notify()像:

if (!strcmp(err, "database is locked")){
                if (sqlite3_unlock_notify(database, NULL, NULL) == SQLITE_OK)
                    return [self perfomQuery:query Error:error];
            }

现在的问题是我收到一个构建红色警告,上面写着:

架构 i386 的未定义符号:“_sqlite3_unlock_notify”,引用自:...

有谁知道该怎么做?
澄清一下:我使用的是 libsqlite3.0.dylib
10x

4

2 回答 2

1

我相信这可能会发生,因为在编译 sqlite3 时未包含可选标志 SQLITE_ENABLE_UNLOCK_NOTIFY。

请重新检查您的 Makefile 并检查此标志,如果省略则包括。

您可以参考http://www.sqlite.org/compile.html#enable_unlock_notify以了解有关此标志的更多信息。希望能帮助到你。

于 2013-01-29T11:28:51.883 回答
0

sqlite3_unlock_notify只能在同一进程中的多个连接以共享缓存模式访问同一数据库时使用,这仅在多线程服务器中有用,因此已将其排除在 SQLite 配置之外。

您应该重新组织您的应用程序,以便只有一个数据库连接。

于 2012-12-02T21:22:33.850 回答