2014-07-16 60 views
0

需要幫助,我似乎無法訪問任何其他.sqlite數據庫,如果它不在應用程序本地文件夾中。每個教程中,我看他們總是用如何在位於特定文件夾的windows store應用程序中創建sqlite數據庫

Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Example.sqlite"); 

我嘗試這樣做:

const string testing = @"C:\Users\***\AppData\Local\Packages\*************\LocalState"; 

      this.DBPath = Path.Combine(testing, "Example.sqlite"); 
      using (var db = new SQLite.SQLiteConnection(this.DBPath)) 
      { 
       db.CreateTable<Customer>(); 

      } 

和它的工作。但是當我將其更改爲:

const string testing = @"C:\Databases"; 

即使我從應用程序的本地文件夾複製數據庫,它也無法打開數據庫。 有什麼建議嗎?我仍然在努力學習。

+0

你會得到什麼錯誤? – Blunderfest

+0

在Cignal.exe中發生類型'SQLite.SQLiteException'的異常,但未在用戶代碼中處理 其他信息:無法打開數據庫文件:D:\ Databases \ Example.sqlite(CannotOpen) – user3845700

回答

0

您無法訪問Windows應用商店的C:驅動器。它是商店沙箱的一部分。每個應用程序僅限於可以查看哪些文件和文件夾。如果您有需要訪問的本地數據庫文件,請將該文件定義爲應用中的內容,並使用路徑「ms-appx:/// ...」訪問該文件。

相關問題