今天学到了数据库基础章节,做了一个例子,在执行的时候遇到了此问题:Microsoft Jet 数据库引擎打不开文件'C:\Inetpub\wwwroot\WebApplication1\Student.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。这个例子的命题是:以创建了Access数据库Student,其中包含了数据表students,用于存放学生的基本信息。使用ADO.NET访问该数据库,利用数据显示控件DataGrid将其中的学生信息在浏览器中显示。思路:首先打开与OLE DB数据源的连接,然后通过DataAdapter加载SQL命令(即Select * from students),接下来将命令执行所得结果表填入数据集对象,DsStu1,然后将DsStu1与数据显示控件DataGrid1绑定,即可显示数据表中的纪录,最后关闭与数据源的连接。过程和编码我都是按照书上所写的完成的,但是在我用浏览器看结果的时候,就出现了前面的我所提到的错误。我将.net开发环境关掉,用IIS进行查看,错误同样,请各位高手帮帮我,知道是怎么回事吗?附上代码:    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        OleDbConn.Open()
        OleDbDtAdpt.Fill(DsStu11, "students")
        DataGrid1.DataBind()
        OleDbConn.Close()    End Sub控件的设置和数据库/表的连接都是正确的

解决方案 »

  1.   

    你是不是用ACCESS打开了此数据库?
      

  2.   

    是不是access设了权限啊取消权限试试
      

  3.   

    可能是文件流指针未关闭。C:\Inetpub\wwwroot\WebApplication1\Student.mdb
    把这个数据库COPY到另一路径下面,重新试一下.
      

  4.   

    1.关掉Access进程
    2.给你的数据库文件.mdb加everyone的可控制权限.
    方法:
    文件>属性>安全>添加everyone用户并勾上完全控制.确定即可.
      

  5.   

    回复: furonghua(凝香)  
           我把ACCESS都关掉了回复: jimu8130(yang) 
           我的文件夹没有什么问题,我看了!回复: zmj122112() 
           我的ACCESS是新装的,我想应该不会有什么问题吧。我登陆的用户名不是Admin,
           是我自己取的一个名字,但权限是管理员权限。回复: ChengKing(Enthusiasm Bigrosoft) 
           我按你说的方法又做了一遍,但是问题依旧,搞得我好郁闷!
      

  6.   

    回复: renyu732(任宇@http://renyu732.cnblogs.com/)
           在我关掉ACCESS以后,我系统里面的Access进程就自动没有了
           加everyone的可控制权限我找了半天也没有找到怎么加,你说的这个“文件>属性>安全>添加everyone用户并勾上完全控制.确定即可。”能不能再具体点!我是XP,你的系统是不是2000啊!
      

  7.   

    1.查看权限
    2.是否用ACCESS打开了数据库
    3.数据库是否被加锁(加密)
      

  8.   

    谢谢大家,我的问题解决了,找到了原因。
    因为我把数据库帮到了我的c区上,我的c区市NTFS的格式,放到FAT32的D区上就没有这个访问权限的问题了。谢谢大家的热心帮助!