2015-11-01 46 views
1

我在使用InstallShield安裝程序後無法訪問我的sqlite數據庫。我在app.config文件引用的數據庫就像圖所示安裝SQLite數據庫時無法訪問

<add name ="Database" providerName="System.Data.Sqlite" connectionString="Data Source =|DataDirectory|CKDatabase.db"/> 

這是由我的C#代碼中引用類似如下所示

string connectionStringCKDatabase = System.Configuration.ConfigurationManager.ConnectionStrings["Database"].ConnectionString; 

當我安裝該程序的數據庫中包含的參考庫和應用程序,但是當我登錄錯誤時顯示「無法打開數據庫文件」。數據庫不必埋在某個複雜的地方。這只是一個簡單的參考。顯然,它在正常的調試模式下工作正常。我知道這是一個簡單的問題,但我覺得執行安裝有很少的學習資源。

+0

您是絕對正確的!我將它安裝在C:驅動器上並工作。謝謝一堆。我會盡快將它標記爲答案。 – LitteringAnd

回答

1

您有權限問題。桌面應用程序中的|DataDirectory|與安裝應用程序的文件夾相同,如果這是「程序文件」,那麼您通常沒有寫入權限。嘗試臨時將讀寫權限設置爲該文件夾中的所有人。如果這樣可以解決問題,那麼就研究如何將數據庫文件部署到您擁有程序數據的讀/寫權限的文件夾中