System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件'D:\mypro\Test.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。OleDbException (0x80004005): Microsoft Jet 数据库引擎打不开文件'D:\mypro\Test.mdb'。  它已经被别的用户以独占方式打开,或没有查看数据的权限。它说的以独占方式打开和权限问题都没有,我在别人的机器上试就好用,我重装系统后依然不行,这个问题已经折磨我好多天了,哪位高手能解决这个问题,谢谢!!!!!

解决方案 »

  1.   

    D:\mypro\Test.mdb' 属性 添加权限  everyone  完全控制 就可以!
      

  2.   

    我也遇到过这种情况,一般是点了它之后才会这样,重启机器就没问题了,你看看这个文件的文件夹的属性的安全上有多少个用户(NTFS格式下)
      

  3.   

    NTFS分区的系统,如果读取ascess数据库要把数据库所在文件夹设置为aspnet可写的权力,因为在打开一个连接后会生成一个*.LDB文件.如果没有权限就生成不了所以会出错!这是microsoft开发ado.net后期出现的一个问题!!!!而且在调试的时候也最好不要用其它工具打开这个文件,那样也会出现以上问题!还有就是文件为只读
      

  4.   

    它已经被别的用户以独占方式打开,或没有查看数据的权限?这个一般是用户权限的问题!你看看D:\mypro\Test.mdb'这个文件的访问权限,具体:右击文件,选属性,点安全,看名称里有没有everyone,如果没有点添加,如果有看看everyone有没有读写权限!还有别的原因就是你上面的程序可能以只读方式打开过,但是连接没有关掉!
      

  5.   

    给文件所在文件夹添加足够权限。to  astrofay(astrofay)"安全上有多少个用户",也可能由这引起。
      

  6.   

    设置everyone有完全权限,或者在2k,xp下asp_net帐户,2k3下network_service帐户有完全权限。
    并且没有其他程序打开Test.mdb
      

  7.   

    先把aspnet_wp.exe进程结束 然后再运行你的程序中可能有什么对象没有关闭
      

  8.   

    D:\mypro\Test.mdb' 属性 添加权限  everyone  完全控制
      

  9.   

    你在打开acess数据库的时候被你选择以独占方式打开了,你的程序当然会有这样的错了
      

  10.   

    你的C盘的Inetpub属性默认是只读的,把C盘的Inetpub文件夹的只读属性去掉点击应用就行了.
      

  11.   

    有两种情况:
    1、你的程序打开数据库时是以独占方式打开的,如果出现并发访问,就会出现你所说的错误。但是开发时一般不会有此问题。
    2、你的数据库文件ASP。NET程序无权限访问。要在MDB文件的“属性”、“安全”中设为Everyone或ASPNET的账户对其有修改权限。
    3、一般在XP中无法直接看到文件属性中的“安全”项,可以按以下方法解决:
       在文件夹窗口的“工具”\“文件选项”中,点“查看”,你会发现有个“使用简单文件共享(推荐)”,将其前面的勾去掉,然后点确定。    再在MDB文件上点右键,OK,在属性窗口中“安全”项出来了。
        要想能update和insert,可以给Everyone赋上修改的,可以将修改权限只赋给ASPNET账户。
      

  12.   

    遇到过这种情况 好像不是权限的问题
    >>先把aspnet_wp.exe进程结束 然后再运行>>你的程序中可能有什么对象没有关闭你试试这个办法
      

  13.   

    它已经被别的用户以独占方式打开,或没有查看数据的权限?这个一般是用户权限的问题!你看看D:\mypro\Test.mdb'这个文件的访问权限,具体:右击文件,选属性,点安全,看名称里有没有everyone,如果没有点添加,如果有看看everyone有没有读写权限!还有别的原因就是你上面的程序可能以只读方式打开过,但是连接没有关掉!