启动应用程序时无法打开Sqlite DB文件

时间:2011-08-01 15:39:48

标签: c# .net windows sqlite setup-project

我使用PostBuildevnt脚本启动申请表单链接

http://blogs.msdn.com/b/astebner/archive/2006/08/12/696833.aspx?wa=wsignin1.0&CommentPosted=true

并成功启动应用程序。我正在使用sqllite for app。 我在Application Folder / DataBase中添加了DB文件,并使用以下代码打开Db文件。

string ConnectionString = "data source=" + Path.GetFullPath(".") + "\\DataBase\\CATTDB.db";

如果我从安装向导启动应用程序,则它不会连接到db file.it会抛出错误,如“无法打开文件”。

如果我从开始菜单或桌面图标启动,它工作正常..

这是什么问题? 请帮帮我..

2 个答案:

答案 0 :(得分:0)

从安装程序启动时,您的工作直销可能会有所不同......

在这种情况下Path.GetFullPath(".")返回什么(记录和/或显示值)?

始终存在权限/权限问题 - 取决于您的操作系统(即Windows 7 ...)和运行应用程序的用户(ia管理员?)出于安全原因您不允许在应用程序中写入目录...如果你需要一个有读+写的地方,你应该使用http://msdn.microsoft.com/de-de/library/system.windows.forms.application.userappdatapath.aspx

只需检查数据库是否在该路径中 - 如果不在那里复制 - 并在那里使用它......

其他位置可以是来自http://msdn.microsoft.com/de-de/library/14tx8hby.aspxhttp://msdn.microsoft.com/de-de/library/system.environment.specialfolder.aspx

的ApplicationData / CommonApplicationData / LocalApplicationData

答案 1 :(得分:0)

所有文件都正确复制..

我尝试使用Application.ExecutablePath代替Path.GetFullPath(".")

它工作得很好......