我使用「Sqlite for Windows Runtime」和sqlite-net(正如http://timheuer.com/blog/archive/2012/08/07/updated-how-to-using-sqlite-from-windows-store-apps.aspx所述)來開發Windows 8 Metro-App。如果我想開在方案目錄的數據庫是沒有問題的:在Windows 8 Metro-App中打開外部SQLite數據庫?
var dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "db.sqlite");
using (var db = new SQLite.SQLiteConnection(dbPath)) {
...
}
但是,當我想用一個外部路徑是這樣的:
var dbPath = "C:\\Users\\xxxxxx\\db.sqlite";
然後用「無法打開時發生錯誤數據庫文件「。爲什麼?在這裏我使用的是C#,通常我使用C++,但是對於這個問題我確定沒關係;)
爲什麼你會選擇使用extern Path?我的建議是使用Visual Studio來驗證您實際嘗試使用的路徑是否正確。這對你來說很少有研究,你可以花5分鐘調試代碼後很容易地解決這個問題。 –
您是否允許從瀏覽器訪問此路徑?您只能訪問當前用戶的目錄...作爲「依賴用戶」的應用程序。 – neagoegab
這段代碼使用'Windows.Storage.ApplicationData.Current.LocalFolder.Path'是有原因的,因爲這是Metro應用程序實際可以訪問的少數幾個位置之一。 –