スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SQLiteアクセス時のオープンモード

一般的に記載されているオープンの記述
rc = sqlite3_open("/home/user/sqlite-c/stations.sqlitedb", &db);

これは実際には、以下のように記述した方がよいみたい。
rc = sqlite3_open_v2("/home/user/sqlite-c/stations.sqlitedb", &db, SQLITE_OPEN_READONLY, NULL);

SQLITE_OPEN_READONLYを指定すると存在しない場合は、エラーが返るし、 ファイル排他は、共有モードでオープンしているはずである。
つまり、他のプログラムからの同時クエリーも出来るはず。

なお、フラグには以下の3パターンがある。
1.SQLITE_OPEN_READONLY
2.SQLITE_OPEN_READWRITE
3.SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE

sqlite3_open() では、3番目のSQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATEとして扱われるとドキュメントには記述されている。
スポンサーサイト

コメントの投稿

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。