检查一下,你是不是正用access打开着文件啊,还有有没有将这个文件设成共享属性

解决方案 »

  1.   

    感谢您使用微软产品。您可以检查一下当前用户对该MDB文件有没有读写权限。特别地,当您是在ASP.NET中运行时,出于安全性的考虑,ASP.NET缺省运行在ASPNET帐号下,如果ASPNET帐号对您的MDB文件没有读/写的权限,就有可能发生您所遇到的错误。
    关于该问题的具体描述及可选的解决方法,您可以参考以下文档:PRB: Cannot Connect to Access Database from ASP.NET (Q316675)
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q316675 - 微软全球技术中心 VB技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  2.   

    如果你希望打开一个有口令保护的Access数据库,你可以用以下三种语法的任一种: (这是vb的例子,不过我想C#中的用法也差不多,我碰到过和你一样的错误,是CSDN中的高手告诉我这些方法的。)
    Dim MyConn As New ADODB.Connection MyConn.Provider = "Microsoft.Jet.OLEDB.3.51" 
    MyConn.Properties("Data Source") = "C:\...\JetPassword.MDB" 
    MyConn.Properties("Jet OLEDB:Database Password") = "MyPwd" 
    MyConn.Open 
    -或- Dim MyConn As New ADODB.Connection 
    Dim strConn As String strConn = "Data Source=C:\...\JetPassword.MDB;" & _ 
    "Jet OLEDB:Database Password=MyPwd" 
    MyConn.Provider = "Microsoft.Jet.OLEDB.3.51" 
    MyConn.Open ConnectionString:=strConn 
    -或- Dim MyConn As New ADODB.Connection 
    Dim strConn As String strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" & _ 
    "Data Source=C:\...\JetPassword.MDB;" & _ 
    "Jet OLEDB:Database Password=MyPwd" 
    MyConn.Open ConnectionString:=strConn 如果你打开一个数据库使用了Jet安全保护,你需要使用以下方式: Dim MyConn As New ADODB.Connection MyConn.Provider = "Microsoft.Jet.OLEDB.3.51" 
    MyConn.Properties("Data Source") = "C:\...\JetSecurity.MDB" 
    MyConn.Properties("Jet OLEDB:System database") = "C:\...\System.MDW" 
    MyConn.Open UserID:="Admin", Password:="MyPwd" 
    -或- Dim MyConn As New ADODB.Connection 
    Dim strConn As String strConn = "Data Source=C:\...\JetSecurity.MDB;" & _ 
    "Jet OLEDB:System database=C:\...\System.MDW" 
    MyConn.Provider = "Microsoft.Jet.OLEDB.3.51" 
    MyConn.Open ConnectionString:=strConn, _ 
    UserID:="Admin", Password:="MyPwd" 
    -或- Dim MyConn As New ADODB.Connection 
    Dim strConn As String strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" 
    "Data Source=C:\...\JetSecurity.MDB;" & _ 
    "Jet OLEDB:System database=C:\...\System.MDW" 
    MyConn.Open ConnectionString:=strConn, _ 
    UserID:="Admin", Password:="MyPwd" 注意:Jet 3.51 OLEDB provider 被设计用来打开Access97数据库,如果你要打开Access 2000 请使用Jet 4.0 OLEDB provider,当然Jet 3.51 OLEDB provider也能打开Access 97。 如果你希望使用Jet 4.0只要将Microsoft.Jet.OLEDB.3.51换成Microsoft.Jet.OLEDB.4.0 
      
      

  3.   

    感谢几位
    zgdhj95(我来自杭州)真热心,谢谢
      

  4.   

    to  stboy(唐人) :问题解决了吗?
      

  5.   

    微软专家,我想问一下,在我的Windows.Net中,AspNet这个帐号的权限不是问题,每次提醒我说是要打这个用户的权限,但是把他加入管理员也没有用。
    实际上是打开普通User的权限?
    这是Bug还是其它的原因?