Verbindingsreeksen
Er wordt een verbindingsreeks gebruikt om op te geven hoe u verbinding maakt met de database. Verbindingsreeksen in Microsoft.Data.Sqlite volgen de standaardsyntaxis ADO.NET als een door puntkomma's gescheiden lijst met trefwoorden en waarden.
Trefwoorden
De volgende verbindingsreeks trefwoorden kunnen worden gebruikt met Microsoft.Data.Sqlite:
Gegevensbron
Het pad naar het databasebestand. DataSource (zonder spatie) en Bestandsnaam zijn aliassen van dit trefwoord.
SQLite behandelt paden ten opzichte van de huidige werkmap. Absolute paden kunnen ook worden opgegeven.
Als deze leeg is, maakt SQLite een tijdelijke on-disk-database die wordt verwijderd wanneer de verbinding wordt gesloten.
Als :memory:
er een in-memory database wordt gebruikt. Zie In-Memory-databases voor meer informatie.
Paden die beginnen met de |DataDirectory|
vervangingstekenreeks, worden hetzelfde behandeld als relatieve paden. Indien ingesteld, worden paden gemaakt ten opzichte van de eigenschapswaarde van het DataDirectory-toepassingsdomein.
Dit trefwoord ondersteunt ook URI-bestandsnamen.
Modus
De verbindingsmodus.
Weergegeven als | Beschrijving |
---|---|
ReadWriteCreate | Hiermee opent u de database voor lezen en schrijven en maakt u deze als deze niet bestaat. Dit is de standaardinstelling. |
ReadWrite | Hiermee opent u de database voor lezen en schrijven. |
Alleen-lezen | Hiermee opent u de database in de modus Alleen-lezen. |
Geheugen | Hiermee opent u een in-memory database. |
Cache
De cachemodus die door de verbinding wordt gebruikt.
Weergegeven als | Beschrijving |
---|---|
Standaard | Maakt gebruik van de standaardmodus van de onderliggende SQLite-bibliotheek. Dit is de standaardinstelling. |
Privé | Elke verbinding maakt gebruik van een privécache. |
Gedeeld | Verbindingen delen een cache. In deze modus kan het gedrag van transactie- en tabelvergrendeling worden gewijzigd. |
Wachtwoord
De versleutelingssleutel. Wanneer dit is opgegeven, PRAGMA key
wordt direct na het openen van de verbinding verzonden.
Waarschuwing
Het wachtwoord heeft geen effect wanneer versleuteling niet wordt ondersteund door de systeemeigen SQLite-bibliotheek.
Notitie
Het trefwoord Wachtwoord is toegevoegd in versie 3.0.
Refererende sleutels
Een waarde die aangeeft of externe sleutelbeperkingen moeten worden ingeschakeld.
Notitie
Het trefwoord Refererende sleutels is toegevoegd in versie 3.0.
Weergegeven als | Beschrijving |
---|---|
Waar | Wordt direct na het openen van de verbinding verzonden PRAGMA foreign_keys = 1 . |
Onwaar | Wordt direct na het openen van de verbinding verzonden PRAGMA foreign_keys = 0 . |
(leeg) | Wordt niet verzonden PRAGMA foreign_keys . Dit is de standaardinstelling. |
Het is niet nodig om refererende sleutels in te schakelen als, zoals in e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS
is gebruikt om de systeemeigen SQLite-bibliotheek te compileren.
Recursieve triggers
Een waarde die aangeeft of recursieve triggers moeten worden ingeschakeld.
Notitie
Het trefwoord Recursieve triggers is toegevoegd in versie 3.0.
Weergegeven als | Beschrijving |
---|---|
Waar | Wordt direct na het openen van de verbinding verzonden PRAGMA recursive_triggers . |
Onwaar | Wordt niet verzonden PRAGMA recursive_triggers . Dit is de standaardinstelling. |
Standaardtime-out
De standaardtime-out (in seconden) voor het uitvoeren van opdrachten. De standaardwaarde is 30. Opdrachttime-out is een alias van dit trefwoord.
Deze waarde kan worden overschreven met behulp DefaultTimeout waarvan op zijn beurt kan worden overschreven met behulp van CommandTimeout.
Notitie
Het trefwoord Standaardtime-out is toegevoegd in versie 6.0.
In een groep plaatsen
Een waarde die aangeeft of de verbinding wordt gegroepeerd.
Notitie
Het trefwoord Pooling is toegevoegd in versie 6.0.
Weergegeven als | Beschrijving |
---|---|
Waar | De verbinding wordt gegroepeerd. Dit is de standaardinstelling. |
Onwaar | De verbinding wordt niet gegroepeerd. |
Vfs
Een waarde die aangeeft welke -implementatie van het virtuele bestandssysteem (VFS) gebruikt moet worden. Als dit leeg is of niet is opgegeven, wordt de standaard-VFS voor het platform gebruikt.
Notitie
Het trefwoord Vfs is toegevoegd in versie 10.0.
Opbouwfunctie voor verbindingsreeksen
U kunt deze gebruiken SqliteConnectionStringBuilder als een sterk getypte manier om verbindingsreeks s te maken. Het kan ook worden gebruikt om verbindingsreeks injectieaanvallen te voorkomen.
var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
Mode = SqliteOpenMode.ReadWriteCreate,
Password = password
}.ToString();
Voorbeelden
Basis
Een eenvoudige verbindingsreeks met een gedeelde cache voor verbeterde gelijktijdigheid.
Let op
Het combineren van de modus gedeelde cache en logboekregistratie voor write-ahead wordt afgeraden. Voor optimale prestaties verwijdert Cache=Shared
u wanneer de database is geconfigureerd voor het gebruik van logboekregistratie voor write-ahead.
Data Source=Application.db;Cache=Shared
Versleuteld
Een versleutelde database.
Data Source=Encrypted.db;Password=MyEncryptionKey
Alleen-lezen
Een alleen-lezen database die niet kan worden gewijzigd door de app.
Data Source=Reference.db;Mode=ReadOnly
In het geheugen
Een privédatabase in het geheugen.
Data Source=:memory:
Deelbaar in-memory
Een deelbare, in-memory database geïdentificeerd door de naam Sharable.
Data Source=Sharable;Mode=Memory;Cache=Shared