Bağlantı dizeleri
Veritabanına nasıl bağlanılacağını belirtmek için bir bağlantı dizesi kullanılır. Microsoft.Data.Sqlite'daki bağlantı dizeleri, anahtar sözcüklerin ve değerlerin noktalı virgülle ayrılmış listesi olarak standart ADO.NET söz dizimini izler.
Anahtar sözcükler
Aşağıdaki bağlantı dizesi anahtar sözcükleri Microsoft.Data.Sqlite ile kullanılabilir:
Veri Kaynağı
Veritabanı dosyasının yolu. DataSource (boşluksuz) ve Dosya adı bu anahtar sözcüğün diğer adlarıdır.
SQLite, yolları geçerli çalışma dizinine göre ele alır. Mutlak yollar da belirtilebilir.
Boşsa, SQLite bağlantı kapatıldığında silinen geçici bir disk içi veritabanı oluşturur.
ise :memory:
, bellek içi veritabanı kullanılır. Daha fazla bilgi için bkz . Bellek içi veritabanları.
Değiştirme dizesiyle |DataDirectory|
başlayan yollar, göreli yollar ile aynı şekilde değerlendirilir. Ayarlanırsa, yollar DataDirectory uygulama etki alanı özellik değerine göre yapılır.
Bu anahtar sözcük URI Dosya Adlarını da destekler.
Mod
Bağlantı modu.
Value | Açıklama |
---|---|
ReadWriteCreate | Veritabanını okuma ve yazma için açar ve yoksa oluşturur. Bu varsayılan seçenektir. |
ReadWrite | Veritabanını okuma ve yazma için açar. |
Salt Okunur | Veritabanını salt okunur modda açar. |
Bellek | Bellek içi veritabanını açar. |
Önbellek
Bağlantı tarafından kullanılan önbelleğe alma modu.
Value | Açıklama |
---|---|
Varsayılan | Temel alınan SQLite kitaplığının varsayılan modunu kullanır. Bu varsayılan seçenektir. |
Özel | Her bağlantı bir özel önbellek kullanır. |
Paylaşılan | Bağlantılar bir önbelleği paylaşır. Bu mod, işlem ve tablo kilitleme davranışını değiştirebilir. |
Parola
Şifreleme anahtarı. Belirtildiğinde, PRAGMA key
bağlantı açıldıktan hemen sonra gönderilir.
Uyarı
Şifreleme yerel SQLite kitaplığı tarafından desteklenmediğinde parolanın hiçbir etkisi olmaz.
Not
Password anahtar sözcüğü sürüm 3.0'a eklendi.
Yabancı Anahtarlar
Yabancı anahtar kısıtlamalarının etkinleştirilip etkinleştirilmeymeyeceğini belirten bir değer.
Not
Yabancı Anahtarlar anahtar sözcüğü sürüm 3.0'a eklendi.
Value | Açıklama |
---|---|
True | Bağlantıyı açtıktan hemen sonra gönderir PRAGMA foreign_keys = 1 . |
False | Bağlantıyı açtıktan hemen sonra gönderir PRAGMA foreign_keys = 0 . |
(boş) | göndermiyor PRAGMA foreign_keys . Bu varsayılan seçenektir. |
Yerel SQLite kitaplığını derlemek için e_sqlite3'da SQLITE_DEFAULT_FOREIGN_KEYS
olduğu gibi yabancı anahtarları etkinleştirmeniz gerekmez.
Özyinelemeli Tetikleyiciler
Özyinelemeli tetikleyicilerin etkinleştirilip etkinleştirilmeymeyeceğini gösteren değer.
Not
Özyinelemeli Tetikleyiciler anahtar sözcüğü 3.0 sürümüne eklendi.
Value | Açıklama |
---|---|
True | Bağlantıyı açtıktan hemen sonra gönderir PRAGMA recursive_triggers . |
False | göndermiyor PRAGMA recursive_triggers . Bu varsayılan seçenektir. |
Varsayılan Zaman Aşımı
Komutları yürütmek için varsayılan zaman aşımı (saniye olarak). Varsayılan değer 30’dur. Komut Zaman Aşımı bu anahtar sözcüğün diğer adıdır.
Bu değer kullanılarak geçersiz kılınabilir DefaultTimeout ve bu değer kullanılarak CommandTimeoutgeçersiz kılınabilir.
Not
Varsayılan Zaman Aşımı anahtar sözcüğü sürüm 6.0'a eklendi.
Biriktirme
Bağlantının havuza alınıp alınmayacağını gösteren değer.
Not
Pooling anahtar sözcüğü sürüm 6.0'a eklendi.
Value | Açıklama |
---|---|
True | Bağlantı havuza alınacaktır. Bu varsayılan seçenektir. |
False | Bağlantı havuza alınmayacak. |
Vfs
Hangi sanal dosya sisteminin (VFS) uygulamasının kullanılacağını gösteren değer. Boş olduğunda veya belirtilmediğinde, platform için varsayılan VFS kullanılır.
Not
Vfs anahtar sözcüğü 10.0 sürümüne eklendi.
Bağlantı dizesi oluşturucusu
bağlantı dizesi oluşturmanın kesin olarak belirlenmiş bir yolu olarak kullanabilirsinizSqliteConnectionStringBuilder. Bağlantı dizesi ekleme saldırılarını önlemek için de kullanılabilir.
var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
Mode = SqliteOpenMode.ReadWriteCreate,
Password = password
}.ToString();
Örnekler
Temel
Geliştirilmiş eşzamanlılık için paylaşılan önbelleğe sahip temel bir bağlantı dizesi.
Dikkat
Paylaşılan önbellek modunu ve önceden yazma günlüğünü karıştırmak önerilmez. En iyi performans için veritabanı önceden yazma günlüğünü kullanacak şekilde yapılandırıldığında kaldırın Cache=Shared
.
Data Source=Application.db;Cache=Shared
Şifreli
Şifrelenmiş bir veritabanı.
Data Source=Encrypted.db;Password=MyEncryptionKey
Salt Okunur
Uygulama tarafından değiştirilemeyen salt okunur bir veritabanı.
Data Source=Reference.db;Mode=ReadOnly
Bellek içi
Özel, bellek içi veritabanı.
Data Source=:memory:
Bellek içinde paylaşılabilir
Paylaşılabilir adıyla tanımlanan paylaşılabilir, bellek içi veritabanı.
Data Source=Sharable;Mode=Memory;Cache=Shared