System.Data.OleDb.OleDbException:未指定错误

时间:2011-04-13 11:23:16

标签: asp.net ms-access oledbexception

我是ASP.net的新手,目前正在开发CRM应用程序。此项目使用.mdb文件作为后端,但我收到以下运行时错误:

描述:在执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

例外详细信息:

  

System.Data.OleDb.OleDbException:   未指定的错误        堆栈跟踪:

     

[OleDbException(0x80004005):   未指定的错误]
  EmployeeManager.isUser(String strUID,   String strPswd)in   d:\主持\ nitindia \ App_Code文件\ EmployeeManager.vb:481   Employees.BtnSubmit_Click(对象   发件人,EventArgs e)in   d:\主持\ nitindia \ Employees.aspx.vb:35   System.Web.UI.WebControls.Button.OnClick(EventArgs的   e)+111
  System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串   eventArgument)+110
  System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串   eventArgument)+10
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler   sourceControl,String eventArgument)   +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection   postData)+36
  System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean   includeStagesAfterAsyncPoint)+1565

只有在我们上传这些网页时才会出现上述错误。在线测试。在localhost上运行时,不会引发错误。

此问题的原因和解决方案是什么?

3 个答案:

答案 0 :(得分:2)

  

System.Data.OleDb.OleDbException:未指定错误

此错误主要属于权限错误,对于此错误,我们根据情况有多个解决方案

  1. 将impersonate = false放入web.config文件中。

  2. 如果要在这种情况下放置impersonate = true,则需要提供读取/写入权限,以便在“C:\ Documents and Settings \ server name \ ASPNET”文件夹中或通过进程监视器实用程序模拟用户您可以检查哪个文件没有足够的权限。

  3. 如果您有Windows Server 2008,那么您将找不到ASPNET文件夹并且仍然需要impersonate = true,那么您需要更改IIS 7.5 / 7.0中的配置。

  4. 转到IIS - >选择您的应用程序池 - >高级设置 - >流程模型 - > Identity = ApplicationPoolIdentity

    转到IIS - >选择您的应用程序池 - >高级设置 - >加载用户个人资料=错误

    See here了解详情。

答案 1 :(得分:0)

这两种情况都可能导致发生此错误(相当无用的命名)错误:

  • ASPNET帐户无权打开该文件。

  • 数据库文件被其他用户锁定。

答案 2 :(得分:0)

对于答案发现者:

尝试查看https://docs.microsoft.com/en-us/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/using-classic-asp-with-microsoft-access-databases-on-iis#using-process-monitor-to-gather-more-information并在临时文件夹上设置权限

在我的情况下,PS是无法访问当前用户临时文件夹C:\ Users \`Username` \ AppData \ Local \ Temp \的模拟用户