安装后无法访问 SQLite 数据库
SQLite database not accessible upon install
使用 InstallShield 安装程序后,我无法访问我的 sqlite 数据库。我在 app.config 文件中引用了数据库,如下所示
<add name ="Database" providerName="System.Data.Sqlite" connectionString="Data Source =|DataDirectory|CKDatabase.db"/>
这是我的 C# 代码引用的,如下所示
string connectionStringCKDatabase = System.Configuration.ConfigurationManager.ConnectionStrings["Database"].ConnectionString;
当我安装程序时,数据库包含在参考库和应用程序中,但是当我登录时,错误显示 "unable to open database file"。数据库不必埋在复杂的地方。这只是一个简单的参考。显然它在常规调试模式下工作正常。我知道这是一个简单的问题,但我觉得执行安装的学习资源很少。
您有权限问题。 |DataDirectory|
在桌面应用程序中是您安装应用程序的同一文件夹,如果这是 "Program Files",您通常在那里没有写权限。尝试为该文件夹中的所有人临时设置权限 read/write。如果这解决了问题,那么研究如何将数据库文件部署到您拥有 read/write 权限的文件夹中,例如 ProgramData
使用 InstallShield 安装程序后,我无法访问我的 sqlite 数据库。我在 app.config 文件中引用了数据库,如下所示
<add name ="Database" providerName="System.Data.Sqlite" connectionString="Data Source =|DataDirectory|CKDatabase.db"/>
这是我的 C# 代码引用的,如下所示
string connectionStringCKDatabase = System.Configuration.ConfigurationManager.ConnectionStrings["Database"].ConnectionString;
当我安装程序时,数据库包含在参考库和应用程序中,但是当我登录时,错误显示 "unable to open database file"。数据库不必埋在复杂的地方。这只是一个简单的参考。显然它在常规调试模式下工作正常。我知道这是一个简单的问题,但我觉得执行安装的学习资源很少。
您有权限问题。 |DataDirectory|
在桌面应用程序中是您安装应用程序的同一文件夹,如果这是 "Program Files",您通常在那里没有写权限。尝试为该文件夹中的所有人临时设置权限 read/write。如果这解决了问题,那么研究如何将数据库文件部署到您拥有 read/write 权限的文件夹中,例如 ProgramData