Veritabanı hataları
SqliteException bir SQLite hatasıyla karşılaşıldığında oluşturulur. İleti SQLite tarafından sağlanır. ve özellikleri hatanın SqliteErrorCode
SQLite sonuç kodunu içerir.SqliteExtendedErrorCode
Microsoft.Data.Sqlite yerel SQLite kitaplığıyla etkileşime geçildiğinde hatalarla karşılaşılabilir. Aşağıdaki listede hataların oluşabileceği yaygın senaryolar gösterilmektedir:
- Bağlantı açılıyor.
- bir işlem başlıyor.
- Komut yürütülüyor.
- çağrısı yapıyor NextResult.
Uygulamanızın bu hataları nasıl işleyeceklerini dikkatle göz önünde bulundurun.
Kilitleme, yeniden denemeler ve zaman aşımları
Tabloları ve veritabanı dosyalarını kilitleme konusunda SQLite agresiftir. Uygulamanız herhangi bir eşzamanlı veritabanı erişimini etkinleştirirse, büyük olasılıkla meşgul ve kilitli hatalarla karşılaşırsınız. Önceden yazma günlüğünü kullanarak birçok hatayı azaltabilirsiniz.
Microsoft.Data.Sqlite meşgul veya kilitli bir hatayla karşılaştığında, başarılı olana veya komut zaman aşımına ulaşılana kadar otomatik olarak yeniden dener.
komutunu ayarlayarak CommandTimeoutkomutun zaman aşımını artırabilirsiniz. Varsayılan zaman aşımı 30 saniyedir. değeri 0
zaman aşımı olmadığı anlamına gelir.
// Retry for 60 seconds while locked
command.CommandTimeout = 60;
Microsoft.Data.Sqlite'ın bazen örtük bir komut nesnesi oluşturması gerekir. Örneğin, BeginTransaction sırasında. Bu komutların zaman aşımını ayarlamak için kullanın DefaultTimeout.
// Set the default timeout of all commands on this connection
connection.DefaultTimeout = 60;
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin