Udostępnij za pośrednictwem


Parametry połączeń

Parametry połączenia służy do określania sposobu nawiązywania połączenia z bazą danych. Parametry połączenia w witrynie Microsoft.Data.Sqlite są zgodne ze standardową składnią ADO.NET jako rozdzieloną średnikami listę słów kluczowych i wartości.

Słowa kluczowe

Następujące słowa kluczowe parametry połączenia mogą być używane z witryną Microsoft.Data.Sqlite:

Źródło danych

Ścieżka do pliku bazy danych. Źródło danych (bez spacji) i nazwa pliku to aliasy tego słowa kluczowego.

SqLite traktuje ścieżki względem bieżącego katalogu roboczego. Można również określić ścieżki bezwzględne.

Jeśli jest pusty, sqlite tworzy tymczasową bazę danych na dysku, która zostanie usunięta po zamknięciu połączenia.

Jeśli :memory:używana jest baza danych w pamięci. Aby uzyskać więcej informacji, zobacz Bazy danych w pamięci.

Ścieżki rozpoczynające się od |DataDirectory| ciągu podstawienia są traktowane tak samo jak ścieżki względne. W przypadku ustawienia ścieżki są tworzone względem wartości właściwości domeny aplikacji DataDirectory.

To słowo kluczowe obsługuje również nazwy plików identyfikatorów URI.

Tryb

Tryb połączenia.

Wartość Opis
ReadWriteTworzenie Otwiera bazę danych do odczytu i zapisu i tworzy ją, jeśli nie istnieje. Jest to opcja domyślna.
ReadWrite Otwiera bazę danych do odczytu i zapisu.
Tylko do odczytu Otwiera bazę danych w trybie tylko do odczytu.
Pamięć Otwiera bazę danych w pamięci.

Pamięć podręczna

Tryb buforowania używany przez połączenie.

Wartość Opis
Wartość domyślna Używa domyślnego trybu bazowej biblioteki SQLite. Jest to opcja domyślna.
Prywatne Każde połączenie używa prywatnej pamięci podręcznej.
Udostępniona Połączenia współużytkuje pamięć podręczną. Ten tryb może zmienić zachowanie transakcji i blokady tabeli.

Hasło

Klucz szyfrowania. Po określeniu PRAGMA key parametr jest wysyłany natychmiast po otwarciu połączenia.

Ostrzeżenie

Hasło nie ma wpływu, gdy szyfrowanie nie jest obsługiwane przez natywną bibliotekę SQLite.

Uwaga

Słowo kluczowe Hasło zostało dodane w wersji 3.0.

Klucze obce

Wartość wskazująca, czy włączyć ograniczenia klucza obcego.

Uwaga

Słowo kluczowe Klucze obce zostało dodane w wersji 3.0.

Wartość Opis
Prawda Wysyła natychmiast PRAGMA foreign_keys = 1 po otwarciu połączenia.
Fałsz Wysyła natychmiast PRAGMA foreign_keys = 0 po otwarciu połączenia.
(puste) Nie wysyła PRAGMA foreign_keys. Jest to opcja domyślna.

Nie ma potrzeby włączania kluczy obcych, jeśli, podobnie jak w e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS użyto do skompilowania natywnej biblioteki SQLite.

Wyzwalacze cykliczne

Wartość wskazująca, czy włączyć wyzwalacze rekursywne.

Uwaga

Słowo kluczowe Wyzwalacze cykliczne zostało dodane w wersji 3.0.

Wartość Opis
Prawda Wysyła natychmiast PRAGMA recursive_triggers po otwarciu połączenia.
Fałsz Nie wysyła PRAGMA recursive_triggers. Jest to opcja domyślna.

Domyślny limit czasu

Domyślny limit czasu (w sekundach) na potrzeby wykonywania poleceń. Wartość domyślna to 30. Limit czasu polecenia jest aliasem tego słowa kluczowego.

Tę wartość można zastąpić przy użyciu DefaultTimeout metody , która z kolei może zostać zastąpiona za pomocą polecenia CommandTimeout.

Uwaga

Domyślne słowo kluczowe limitu czasu zostało dodane w wersji 6.0.

Buforowanie

Wartość wskazująca, czy połączenie zostanie w puli.

Uwaga

Słowo kluczowe Pooling zostało dodane w wersji 6.0.

Wartość Opis
Prawda Połączenie zostanie w puli. Jest to opcja domyślna.
Fałsz Połączenie nie zostanie w puli.

Vfs

Wartość wskazująca, którą implementację wirtualnego systemu plików (VFS) należy użyć. Jeśli jest on pusty lub nie jest określony, jest używany domyślny system plików VFS dla platformy.

Uwaga

Słowo kluczowe Vfs zostało dodane w wersji 10.0.

Konstruktor parametrów połączenia

Możesz użyć SqliteConnectionStringBuilder jako silnie typizowanego sposobu tworzenia parametry połączenia. Może również służyć do zapobiegania atakom polegającym na wstrzyknięciu parametry połączenia.

var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
    Mode = SqliteOpenMode.ReadWriteCreate,
    Password = password
}.ToString();

Przykłady

Podstawowy

Podstawowa parametry połączenia z udostępnioną pamięcią podręczną w celu zwiększenia współbieżności.

Uwaga

Mieszanie trybu udostępnionej pamięci podręcznej i rejestrowanie z wyprzedzeniem jest odradzane. Aby uzyskać optymalną wydajność, usuń Cache=Shared , gdy baza danych jest skonfigurowana do korzystania z rejestrowania z wyprzedzeniem zapisu.

Data Source=Application.db;Cache=Shared

Zaszyfrowane

Zaszyfrowana baza danych.

Data Source=Encrypted.db;Password=MyEncryptionKey

Tylko do odczytu

Baza danych tylko do odczytu, której nie można modyfikować przez aplikację.

Data Source=Reference.db;Mode=ReadOnly

W pamięci

Prywatna baza danych w pamięci.

Data Source=:memory:

Udostępnianie w pamięci

Udostępnialna baza danych w pamięci zidentyfikowana przez nazwę Sharable.

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

Zobacz też