私はいくつかのスレッドを持っており、私はストレージ用にSQLiteを使用しています。私がデータベースにアクセスしようとすると、SQLITE_BUSYエラーが発生します。
SQLiteとObjective-Cを使ったマルチスレッド
各リクエスト時にこの問題を解決する方法はありますか?
私はいくつかのスレッドを持っており、私はストレージ用にSQLiteを使用しています。私がデータベースにアクセスしようとすると、SQLITE_BUSYエラーが発生します。
SQLiteとObjective-Cを使ったマルチスレッド
各リクエスト時にこの問題を解決する方法はありますか?
ほとんどの場合、シリアライズモードで実行されています。しかし、おそらくあなたはマルチスレッドモードで実行しようとしています。そのルートに行く場合は、各スレッドで別々のデータベース接続が必要であることに注意してください。ここで
は、ドキュメントの良さへのリンクです:http://www.sqlite.org/threadsafe.html
は私の最後の答えを無視します。
sqlite3_errmsg関数を使用すると、エラーメッセージが文字列として取得され、より適切かつ適切な理由を見つけるためにエラーが発生するとすぐにNSLogまたは他の方法を使用して出力できます。 http://www.sqlite.org/c3ref/errcode.html
おそらく、シリアル化の問題が発生しているようです。私はどこにいるのか分からない。