Sdílet prostřednictvím


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ího řetězce:

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 prázdná, SQLite vytvoří dočasnou databázi na disku, která se odstraní při uzavř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, které začínají nahrazovacím řetězcem |DataDirectory|, se považují za stejné jako relativní cesty. Pokud je tato volba nastavena, 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
ČístPsátVytvářet Otevře databázi pro čtení a zápis a vytvoří ji, pokud neexistuje. Tato možnost je výchozí.
Čtení a zápis 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í.

Upozornění

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
Pravdivé PRAGMA foreign_keys = 1 se odešle okamžitě po otevření připojení.
Nepravda Odešle PRAGMA foreign_keys = 0 okamžitě po otevření připojení.
(prázdné) Neodesílá PRAGMA foreign_keys. Tato možnost je výchozí.

Není potřeba povolit cizí klíče, pokud byla nativní knihovna SQLite zkompilována s pomocí SQLITE_DEFAULT_FOREIGN_KEYS stejně jako v e_sqlite3.

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
Pravdivé PRAGMA recursive_triggers se odešle okamžitě po otevření připojení.
Nepravda 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. Command Timeout je alias tohoto klíčového slova.

Tuto hodnotu lze přepsat pomocí DefaultTimeout, které lze poté 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í, zda bude připojení součástí poolu.

Poznámka:

Klíčové slovo Sdružování bylo přidáno ve verzi 6.0.

Hodnota Popis
Pravdivé Připojení bude sdíleno. Tato možnost je výchozí.
Nepravda Připojení nebude sloučeno.

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.

Sestavovač připojovacích řetězců

Můžete použít SqliteConnectionStringBuilder jako silně typizovaný způsob vytváření připojovacích řetězců. Dá se také použít k prevenci útoků injektáží připojovacího řetězce.

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í

Nedoporučuje se kombinovat režim sdílené mezipaměti a protokolování s antecipací. Pokud chcete dosáhnout optimálního výkonu, odeberte Cache=Shared, když je databáze nakonfigurována k používání 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:

Sdílená v paměti

Sdílená paměťová databáze identifikovaná názvem Sharable.

Data Source=Sharable;Mode=Memory;Cache=Shared

Viz také