vfs:“ vfs”参数可用于指定VFS对象的名称,该对象提供应用于访问磁盘上数据库文件的操作系统接口。如果将此选项设置为空字符串,则使用默认的VFS对象。指定未知的VFS是错误。如果使用sqlite3_open_v2()并且存在vfs选项,则该选项指定的VFS优先于作为第四个参数传递给sqlite3_open_v2()的值。

mode:模式参数可以设置为“ ro”,“ rw”,“ rwc”或“ memory”。尝试将其设置为任何其他值是一个错误。如果指定“ ro”,则打开数据库以进行只读访问,就像在sqlite3_open_v2()的第三个参数中设置了SQLITE_OPEN_READONLY标志一样。如果将模式选项设置为“ rw”,则将打开数据库以进行读写(但不创建)访问,就好像已设置了SQLITE_OPEN_READWRITE(但未设置SQLITE_OPEN_CREATE)一样。值“ rwc”等效于设置SQLITE_OPEN_READWRITE和SQLITE_OPEN_CREATE。如果将模式选项设置为“内存”,则为纯内存数据库从不读取或写入磁盘。为mode参数指定的值限制比第三个参数传递给sqlite3_open_v2()的标志所指定的限制要小,这是错误的。

cache:cache参数可以设置为“ shared”或“ private”。将其设置为“共享”等效于将传递给sqlite3_open_v2()的flags参数中的SQLITE_OPEN_SHAREDCACHE位置1。将缓存参数设置为“专用”等效于将SQLITE_OPEN_PRIVATECACHE位置1。如果使用sqlite3_open_v2()且URI文件名中包含“ cache”参数,则其值将覆盖通过设置SQLITE_OPEN_PRIVATECACHE或SQLITE_OPEN_SHAREDCACHE标志所请求的任何行为。

psow:psow参数指示

powersafe overwrite属性是否适用于数据库文件所在的存储介质。

nolock:nolock参数是一个布尔查询参数,如果设置该参数将禁用回滚日志模式下的文件锁定。这对于访问不支持锁定的文件系统上的数据库很有用。警告:如果两个或多个进程写入同一数据库,并且其中任何一个进程使用nolock = 1,则可能导致数据库损坏。

immutable:immutable参数是一个布尔查询参数,它指示数据库文件存储在只读介质上。设置不可变后,SQLite假定即使具有更高特权的进程也无法更改数据库文件,因此该数据库以只读方式打开,并且所有锁定和更改检测均被禁用。警告:在实际上发生更改的数据库文件上设置不可变属性可能会导致错误的查询结果和/或SQLITE_CORRUPT错误。另请参阅:SQLITE_IOCAP_IMMUTABLE。