小巧、快速、可靠。
選擇其中三項。

SQLite C 介面

存放資料庫檔案的資料夾名稱

SQLITE_EXTERN char *sqlite3_data_directory;

如果將此全域變數指向一個字串,該字串是資料夾(又稱目錄)的名稱,那麼當使用內建的 Windows 虛擬檔案系統 (VFS) 時,所有以相對路徑指定且由 SQLite 建立或存取的資料庫檔案都將被視為相對於該目錄。如果此變數為 NULL 指標,則 SQLite 假設所有以相對路徑指定的資料庫檔案都相對於程式的目前目錄。只有 Windows VFS 會使用此全域變數;Unix VFS 會忽略它。

在資料庫連線開啟時更改此變數的值可能會導致資料庫損毀。

在多個執行緒中同時讀取或修改此變數是不安全的。如果在另一個執行緒中同時使用資料庫連線,讀取或修改此變數也是不安全的。此變數的設計目的是在程式初始化過程中,且在呼叫任何 SQLite 介面常式之前設定一次,之後便不再更改。

data_store_directory pragma可能會修改此變數,並使其指向從 sqlite3_malloc 獲取的記憶體。此外,data_store_directory pragma 總是假設此變數指向的任何字串都儲存在從 sqlite3_malloc 獲取的記憶體中,並且 pragma 可能會嘗試使用 sqlite3_free 釋放該記憶體。因此,如果直接修改此變數,則應將其設為 NULL 或使其指向從 sqlite3_malloc 獲取的記憶體,否則應避免使用 data_store_directory pragma

另請參閱物件常數函式列表。