簡體   English   中英

無法在sqlite中打開數據庫文件(使用finisar.sqlite)

[英]unable to open database file in sqlite (using finisar.sqlite)

我在我的應用程序中使用sqlite.net dllsqlite.net dll 命名空間是Finisar.sqlite我在使用事務將條目插入數據庫時遇到問題,它在打開連接時拋出異常為“無法打開數據庫文件”。

我谷歌它,但解決方案就像更改連接字符串。 如果我遵循這個過程,那么finisar會將異常作為無效的params。

SQLiteConnection db = new SQLiteConnection(f_strConnStr);

db.Open();

**Valid parameters are:** 

Data Source=<database file>  (required)

Version=<version of SQLite (2 or 3)>            (default: 2)

New=True|False                  (default: False)

Compress=True|False                 (default: False)

UTF8Encoding=True|False             (default: False)

UTF16Encoding=True|False            (default: False)

Cache Size=<N>                  (default: 2000)

Synchronous=Full|Normal|Off             (default: Normal)

DateTimeFormat=ISO8601|Ticks|CurrentCulture     (default: ISO8601)

Compatibility=[old-date-format][,old-binary-format] (default: None)

我嘗試了解決方案,如池連接字符串,日志模式=關閉等,但沒有任何對我有用。 即使我無法創建由於參數無效而受密碼保護的文件。

我不能添加除此參數以外的其他內容。 如果有人對此問題有解決方案,請幫助我們。

提前致謝。

所以有很多事情可能會出錯:

  1. SQLite數據庫所在的文件夾,您沒有寫入權限。
  2. 該數據庫已由另一個SQLiteConnection打開。
  3. 連接字符串錯誤。 我認為這個不太可能,因為它顯然是一個變量,你正在拉動連接字符串,我不得不相信其他時候你想要使用相同字符串的數據。

要解決#2,您應該始終訪問您的數據,如下所示:

using (SQLiteConnection c = new SQLiteConnection(f_strConnStr))
{
    c.Open();
    ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM