IIS中读取Access文件时的权限问题

把ASP.Net的代码发布到IIS下,页面报错

 

Microsoft JET Database Engine thrown System.Data.OleDb.OleDbException 操作必须使用一个可更新的查询。
在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult

在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()

初步诊断结果是系统自带的一个Access数据库文件,没有设置修改权限导致的。

于是凭以往经验给存储Access文件的目录加上了IIS来宾用户IUSR_ComputerName的访问权限

(因为当客户端用户匿名访问IIS时,IIS在内部都使用该用户来完成资源的访问)

结果发现任然报相同的错误!

经google后,才发现原来XP中IIS5.1中的应用程序是默认运行在ASPNET 账户下的,立即添加上ASPNET用户

问题解决!

 

 

 

展开阅读全文

没有更多推荐了,返回首页