我尝试通过我在本地IIS 7中托管的ASP.NET MVC Web应用程序从SQL Server中选择一些数据,我收到此错误:
System.Data.SqlClient.SqlException:拒绝了SELECT权限 对象'tableName',数据库'dbName',架构'dbo'。
知道检查了所有IIS APPPOOL\ASP.NET V4.0 Integrated
的权限,我该如何解决?
堆栈追踪:
[RuntimeBinderException:无法对null执行运行时绑定 参考] CallSite.Target(Closure,CallSite,Object)+200
System.Dynamic.UpdateDelegates.UpdateAndExecute1(CallSite site,T0 arg0)+924 ASP._Page_Views_Shared__Header_cshtml.Execute()in c:\ Users \ Nectarys \ desktop \ monitoringn_web \ monitoring2 - 副本\ monitoringn \查看\ Shared_Header.cshtml:11
System.Web.WebPages.WebPageBase.ExecutePageHierarchy()+280
System.Web.Mvc.WebViewPage.ExecutePageHierarchy()+ 1266 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,TextWriter writer,WebPageRenderingBase startPage)+196
System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName,Object model,ViewDataDictionary viewData) +158 ASP._Page_Views_Shared__Layout_cshtml.Execute()在c:\ Users \ Nectarys \ desktop \ monitoringn_web \ monitoring2中 - 副本\ monitoringn \查看\ Shared_Layout.cshtml:13
System.Web.WebPages.WebPageBase.ExecutePageHierarchy()+280
System.Web.Mvc.WebViewPage.ExecutePageHierarchy()+ 1266 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,TextWriter writer,WebPageRenderingBase startPage)+196
System.Web.WebPages.WebPageBase.Write(HelperResult result)+89
System.Web.WebPages.WebPageBase.RenderSurrounding(字符串 partialViewName,Action1 body) +233
1 continuation) +855148 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext,IList`1过滤器,ActionResult actionResult)+265
System.Web.WebPages.WebPageBase.PopContext() +291
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +378 System.Web.Mvc.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17() +33 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func
System.Web.Mvc.Async&LT;&GT; C_ DisplayClass25.b _22(IAsyncResult的 asyncResult)+839620
System.Web.Mvc&LT;&GT; C_ DisplayClass1d.b _18(IAsyncResult的 asyncResult)+28
System.Web.Mvc.Async&LT;&GT; C_ DisplayClass4.b _3(IAsyncResult的 ar)+15 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)+65
System.Web.Mvc.Async&LT;&GT; C_ DisplayClass4.b _3(IAsyncResult的 ar)+15 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)+51
System.Web.Mvc&LT;&GT; C_ DisplayClass8.b _3(IAsyncResult的 asyncResult)+42
System.Web.Mvc.Async&LT;&GT; C_ DisplayClass4.b _3(IAsyncResult的 ar)+15 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult) asyncResult)+51
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; completedSynchronously)+288
另外,我grant SELECT,INSERT,UPDATE,DELETE on dbo.tableName to "IIS APPPOOL\ASP.NET V4.0 Integrated";
。我这样做是通过选择dbName并在新脚本中创建的,我写了那行。
答案 0 :(得分:6)
希望这个帮助
答案 1 :(得分:0)
您的db用户无权读取db中的表。您可以赋予它db_owner权限,它应该可以工作。
答案 2 :(得分:0)
我有一个不同的问题。 我已经完成了将权限更改为“ db_owner”的操作,但仍然无法解决我的问题。 然后,我在IIS管理器中将DefaultAppPool更改为“ NetworkService”。它解决了我的问题。