3

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

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

异常详情:

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

[OleDbException (0x80004005): 未指定的错误]
d:\hosting\nitindia\App_Code\EmployeeManager.vb:481 中的 EmployeeManager.isUser(String strUID, String strPswd):\hosting\ 中的Employees.BtnSubmit_Click(Object sender, EventArgs e) nitindia\Employees.aspx.vb:35 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls .Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String 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,布尔 includeStagesAfterAsyncPoint)+1565

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

这个问题的原因是什么,解决方法是什么?

4

3 回答 3

3

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 中的配置。

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

转到 IIS -> 选择您的应用程序池 -> 高级设置 -> 加载用户配置文件 = False

有关更多详细信息,请参见此处

于 2012-03-15T10:18:52.113 回答
1

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

  • ASPNET 帐户没有打开文件的权限。

  • 数据库文件被另一个用户锁定。

于 2011-04-13T11:30:14.327 回答
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\ 的模拟用户

于 2018-07-26T06:52:10.757 回答