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í ř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.

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();

Důležité

Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Pokud se připojujete k Azure SQL, spravované identity pro prostředky Azure se doporučují metodou ověřování.

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

Viz také