none
C#中OpenFileDialog和sqlite数据库的问题 RRS feed

  • 问题

  • winform里需要将csv文件的数据导入到sqlite数据,但是用OpenFileDialog选择一个文件后,用DbConnection就不能打开sqlite数据数据,
    出现“Unable to open the database file”。以前用FolderBrowserDialog和Reportviewer控件导出文件也碰到这个问题,但是用变通的方法解决了。
    这次想不出什么好方法。
    这是什么问题呢?OpenFileDialog返回的时候会更改什么东西让sqlite认为数据库文件在访问,其实这个时候没有进程访问sqlite数据库文件。
    访问sqlite库用的是http://sqlite.phxsoftware.com的System.Data.SQLite.DLL,版本1.0.51.0。
    2009年8月18日 6:35

答案

  • 谢谢,是文件路径的问题,在csdn问到了,我在配置文件里用的是相对路径。设置OpenFileDialog的RestoreDirectory属性为true就可以了。
    • 已标记为答案 Brucezh 2009年8月18日 9:36
    2009年8月18日 9:36

全部回复

  • 你好 这种情况可能是由于文件路径不对的关系,也就是说找不到这个文件,所以提示这个错误,因为我这几天刚好也有用到了SQLite

    我昨天也遇到了这个错误,最开始我以为是其它应用程序使用了这个文件 但是其实没有
    后来我回来是路径的问题,最终确定是因为asp.net无法访问读写这个文件

    解决方法将此数据库所在文件夹的安全选项卡 添加账户everyone 完全控制即可(我最初只添加了aspnet账户但是依然不行 于是索性全部赋予权限了因为我是在本机测试,对于你要部署到服务器上最好分配最少的权限给合适的账户)


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月18日 7:44
    版主
  • 谢谢,是文件路径的问题,在csdn问到了,我在配置文件里用的是相对路径。设置OpenFileDialog的RestoreDirectory属性为true就可以了。
    • 已标记为答案 Brucezh 2009年8月18日 9:36
    2009年8月18日 9:36
  • 应该用绝对路径才可以 呵呵
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月18日 9:40
    版主