2015-11-01 43 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|与安装应用程序的文件夹相同,如果这是“程序文件”,那么您通常没有写入权限。尝试临时将读写权限设置为该文件夹中的所有人。如果这样可以解决问题,那么就研究如何将数据库文件部署到您拥有程序数据的读/写权限的文件夹中