Připojovací řetězce
Připojovací řetězec slouží k určení způsobu připojení k databázi. Připojovací řetězce v Microsoft.Data.Sqlite se řídí standardní syntaxí ADO.NET jako seznam klíčových slov a hodnot oddělených středníkem.
Klíčová slova
S Microsoft.Data.Sqlite lze použít následující klíčová slova připojovací řetězec:
Zdroj dat
Cesta k databázovému souboru. Zdroj dat (bez mezery) a název souboru jsou aliasy tohoto klíčového slova.
SQLite zpracovává cesty vzhledem k aktuálnímu pracovnímu adresáři. Lze také zadat absolutní cesty.
Pokud je funkce SQLite prázdná, vytvoří dočasnou databázi na disku, která se odstraní při zavření připojení.
Pokud :memory:
se použije databáze v paměti. Další informace naleznete v tématu Databáze v paměti.
Cesty začínající řetězcem |DataDirectory|
nahrazení se považují za stejné jako relativní cesty. Pokud nastavíte, cesty se vytvoří vzhledem k hodnotě vlastnosti domény aplikace DataDirectory.
Toto klíčové slovo také podporuje názvy souborů URI.
Režim
Režim připojení.
Hodnota | Popis |
---|---|
ReadWriteCreate | Otevře databázi pro čtení a zápis a vytvoří ji, pokud neexistuje. Tato možnost je výchozí. |
ReadWrite | Otevře databázi pro čtení a zápis. |
Jen pro čtení | Otevře databázi v režimu jen pro čtení. |
Memory (Paměť) | Otevře databázi v paměti. |
Mezipaměť
Režim ukládání do mezipaměti používaný připojením.
Hodnota | Popis |
---|---|
Výchozí | Používá výchozí režim základní knihovny SQLite. Tato možnost je výchozí. |
Privátní | Každé připojení používá privátní mezipaměť. |
Shared | Připojení sdílejí mezipaměť. Tento režim může změnit chování transakce a uzamčení tabulky. |
Heslo
Šifrovací klíč. Po zadání PRAGMA key
se odešle okamžitě po otevření připojení.
Upozorňující
Heslo nemá žádný vliv, pokud nativní knihovna SQLite nepodporuje šifrování.
Poznámka:
Klíčové slovo Heslo bylo přidáno ve verzi 3.0.
Cizí klíče
Hodnota označující, zda se mají povolit omezení cizího klíče.
Poznámka:
Klíčové slovo Cizí klíče bylo přidáno ve verzi 3.0.
Hodnota | Popis |
---|---|
True |
PRAGMA foreign_keys = 1 Odešle se okamžitě po otevření připojení. |
False |
PRAGMA foreign_keys = 0 Odešle se okamžitě po otevření připojení. |
(prázdné) | Neodesílá PRAGMA foreign_keys . Tato možnost je výchozí. |
Pokud se jako v e_sqlite3 použili ke kompilaci nativní knihovny SQLite, SQLITE_DEFAULT_FOREIGN_KEYS
není potřeba povolit cizí klíče.
Rekurzivní triggery
Hodnota, která označuje, jestli se mají povolit rekurzivní triggery.
Poznámka:
Klíčové slovo Rekurzivní triggery bylo přidáno ve verzi 3.0.
Hodnota | Popis |
---|---|
True |
PRAGMA recursive_triggers Odešle se okamžitě po otevření připojení. |
False | Neodesílá PRAGMA recursive_triggers . Tato možnost je výchozí. |
Výchozí časový limit
Výchozí časový limit (v sekundách) pro spouštění příkazů. Výchozí hodnota je 30. Časový limit příkazu je alias tohoto klíčového slova.
Tuto hodnotu lze přepsat, pomocí DefaultTimeout které lze přepsat pomocí CommandTimeout.
Poznámka:
Výchozí klíčové slovo časového limitu bylo přidáno ve verzi 6.0.
Sdružování
Hodnota označující, jestli bude připojení ve fondu.
Poznámka:
Klíčové slovo Sdružování bylo přidáno ve verzi 6.0.
Hodnota | Popis |
---|---|
True | Připojení bude ve fondu. Tato možnost je výchozí. |
False | Připojení nebude ve fondu. |
Vfs
Hodnota označující, kterou implementaci virtuálního systému souborů (VFS) použít. Pokud je prázdný nebo není specifikováno, použije se výchozí VFS pro platformu.
Poznámka:
Klíčové slovo Vfs bylo přidáno ve verzi 10.0.
Tvůrce připojovacích řetězců
Jako způsob vytváření připojovací řetězec můžete použít SqliteConnectionStringBuilder silné typy. Dá se také použít k prevenci připojovací řetězec útoků prostřednictvím injektáže.
var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
Mode = SqliteOpenMode.ReadWriteCreate,
Password = password
}.ToString();
Příklady
Basic
Základní připojovací řetězec se sdílenou mezipamětí pro lepší souběžnost.
Upozornění
Kombinování režimu sdílené mezipaměti a protokolování s předstihem pro zápis se nedoporučuje. Pokud chcete dosáhnout optimálního výkonu, odeberte Cache=Shared
ji, když je databáze nakonfigurovaná tak, aby používala protokolování s předstihem zápisu.
Data Source=Application.db;Cache=Shared
Šifrované
Zašifrovaná databáze.
Data Source=Encrypted.db;Password=MyEncryptionKey
Jen pro čtení
Databáze určená jen pro čtení, kterou aplikace nemůže upravit.
Data Source=Reference.db;Mode=ReadOnly
V paměti
Privátní databáze v paměti.
Data Source=:memory:
Sharable in-memory
Orná databáze v paměti identifikovaná názvem Sharable.
Data Source=Sharable;Mode=Memory;Cache=Shared