Small. Fast. Reliable.
Choose any three.

SQLite C接口

存放数据库文件的文件夹的名称

SQLITE_EXTERN char * sqlite3_data_directory;

如果使此全局变量指向一个字符串,该字符串是文件夹(即目录)的名称,则将假定所有使用相对路径名指定并由SQLite使用内置Windows VFS创建或访问的数据库文件都可以相对于该目录。如果此变量是NULL指针,则SQLite假定使用相对路径名指定的所有数据库文件都相对于该进程的当前目录。仅Windows VFS使用此全局变量。Unix VFS会忽略它。

打开数据库连接时更改此变量的值可能会导致数据库损坏。

一次在多个线程中读取或修改此变量是不安全的。如果在单独的线程中同时使用数据库连接,则不安全地读取或修改此变量。打算在进程初始化期间以及在调用任何SQLite接口例程之前,一次设置此变量,此后此变量保持不变。

所述data_store_directory编译指示可以修改此变量并且导致其指向从获得存储器sqlite3_malloc。此外,data_store_directory pragma始终假定此变量指向的任何字符串都保存在从sqlite3_malloc获得的内存中, 并且pragma可以尝试使用sqlite3_free释放该内存。因此,如果直接修改此变量,则应将其设置为NULL或指向从sqlite3_malloc获得的内存, 否则应避免使用data_store_directory编译指示

另请参见 对象常量函数的列表