Freigeben über


Verbindungszeichenfolgen

Mit einer Verbindungszeichenfolge wird angegeben, wie eine Verbindung zur Datenbank hergestellt werden soll. Verbindungszeichenfolgen in Microsoft.Data.Sqlite folgen als durch Semikolons getrennte Liste von Schlüsselwörtern und Werten auf die ADO.NET-Standardsyntax.

Stichwörter

Die folgenden Schlüsselwörter für Verbindungszeichenfolgen können mit Microsoft.Data.Sqlite verwendet werden:

Datenquelle

Der Pfad zur Datenbankdatei. DataSource (ohne Leerzeichen) und Filename (Dateiname) sind Aliase dieses Schlüsselworts.

SQLite behandelt Pfade relativ zum aktuellen Arbeitsverzeichnis. Absolute Pfade können ebenfalls angegeben werden.

Im Falle von empty (leer) erstellt SQLite eine temporäre Datenbank auf dem Datenträger, die gelöscht wird, wenn diese Verbindung geschlossen wird.

Bei :memory: wird eine In-Memory-Datenbank verwendet. Weitere Informationen finden Sie unter In-Memory-Datenbanken.

Pfade, die mit der Ersatzzeichenfolge |DataDirectory| beginnen, werden wie relative Pfade behandelt. Wenn dies festgelegt ist, werden Pfade relativ zum Eigenschaftswert der Anwendungsdomäne für DataDirectory erstellt.

Dieses Schlüsselwort unterstützt auch URI-Dateinamen.

Modus

Dies ist der Verbindungsmodus.

Wert Beschreibung
ReadWriteCreate Hiermit wird die Datenbank für Lese- und Schreibvorgänge geöffnet und ggf. erstellt, wenn sie nicht vorhanden ist. Dies ist die Standardeinstellung.
ReadWrite Hiermit wird die Datenbank für Lese- und Schreibvorgänge geöffnet.
ReadOnly Hiermit wird die Datenbank im schreibgeschützten Modus geöffnet.
Arbeitsspeicher Hiermit wird eine In-Memory-Datenbank geöffnet.

cache

Hierbei handelt es sich um den von der Verbindung verwendeten Cachemodus.

Wert Beschreibung
Standard Hiermit wird der Standardmodus der zugrunde liegenden SQLite-Bibliothek verwendet. Dies ist die Standardeinstellung.
Private Jede Verbindung verwendet einen privaten Cache.
Shared Verbindungen nutzen einen Cache gemeinsam. Dieser Modus kann das Verhalten der Transaktion und der Tabellensperrung ändern.

Kennwort

Der Verschlüsselungsschlüssel. Wenn dieser angegeben ist, wird PRAGMA key unmittelbar nach dem Öffnen der Verbindung gesendet.

Warnung

Das Kennwort hat keine Auswirkung, wenn die Verschlüsselung von der nativen SQLite-Bibliothek nicht unterstützt wird.

Hinweis

Das Schlüsselwort „Password“ wurde in Version 3.0 hinzugefügt.

Fremdschlüssel

Dieser Wert gibt an, ob Fremdschlüsseleinschränkungen aktiviert werden sollen.

Hinweis

Das Schlüsselwort „foreign_keys“ wurde in Version 3.0 hinzugefügt.

Wert Beschreibung
True Hier wird PRAGMA foreign_keys = 1 unmittelbar nach dem Öffnen der Verbindung gesendet.
False Hier wird PRAGMA foreign_keys = 0 unmittelbar nach dem Öffnen der Verbindung gesendet.
(leer) Hier wird PRAGMA foreign_keys nicht gesendet. Dies ist die Standardeinstellung.

Fremdschlüssel müssen nicht aktiviert werden, wenn, wie in e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS zum Kompilieren der nativen SQLite-Bibliothek verwendet wurde.

Rekursive Trigger

Mit diesem Wert wird angegeben, ob rekursive Trigger aktiviert werden sollen.

Hinweis

Das Schlüsselwort „recursive_triggers“ wurde in Version 3.0 hinzugefügt.

Wert Beschreibung
True Hier wird PRAGMA recursive_triggers unmittelbar nach dem Öffnen der Verbindung gesendet.
False Hier wird PRAGMA recursive_triggers nicht gesendet. Dies ist die Standardeinstellung.

Standardzeitlimit

Das Standardtimeout (in Sekunden) für die Ausführung von Befehlen. Der Standardwert ist 30. Das Befehlstimeout ist ein Alias für dieses Schlüsselwort.

Dieser Wert kann mit DefaultTimeout überschrieben werden, der wiederum mit CommandTimeout überschrieben werden kann.

Hinweis

Das Schlüsselwort „Default Timeout“ wurde in Version 6.0 hinzugefügt.

Pooling

Ein Wert, der angibt, ob die Verbindung gepoolt wird.

Hinweis

Das Schlüsselwort „Pooling“ wurde in Version 6.0 hinzugefügt.

Wert Beschreibung
True Die Verbindung wird gepoolt. Dies ist die Standardeinstellung.
False Die Verbindung wird nicht gepoolt.

Vfs

Dieser Wert gibt an, welche VFS-Implementierung (Virtual File System, virtuelles Dateisystem) verwendet werden soll. Wenn der Wert leer oder nicht angegeben ist, wird das Standard-VFS für die Plattform verwendet.

Hinweis

Das Vfs-Schlüsselwort wurde in Version 10.0 hinzugefügt.

Verbindungszeichenfolgen-Generator

Sie können SqliteConnectionStringBuilder als stark typisierte Methode zum Erstellen von Verbindungszeichenfolgen verwenden. Außerdem können damit Angriffe durch das Einschleusen von Verbindungszeichenfolgen verhindert werden.

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

Beispiele

Standard

Dies ist eine einfache Verbindungszeichenfolge mit freigegebenem Cache für verbesserte Parallelität.

Achtung

Es wird davon abgeraten, den Modus mit gemeinsamem Cache und die Write-Ahead-Protokollierung zu kombinieren. Zum Erzielen einer optimalen Leistung entfernen Sie Cache=Shared, wenn die Datenbank zur Verwendung der Write-Ahead-Protokollierung konfiguriert ist.

Data Source=Application.db;Cache=Shared

Verschlüsselt

Dies ist eine verschlüsselte Datenbank.

Data Source=Encrypted.db;Password=MyEncryptionKey

Schreibgeschützt

Dies ist eine schreibgeschützte Datenbank, die nicht von der App geändert werden kann.

Data Source=Reference.db;Mode=ReadOnly

Im Arbeitsspeicher

Dies ist eine private In-Memory-Datenbank.

Data Source=:memory:

Sharable In-Memory

Dies ist eine In-Memory-Datenbank, die wie anhand des Namens Sharable bereits zu erkennen ist freigegeben werden kann.

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

Siehe auch