连接字符串为:
Data source=.\SQLEXPRESS; Initial Catalog=NorthWind; Trusted_Connection=Yes;Integrated Security=True;编译后,在IE中浏览时显示:
The SELECT permission was denied on the object 但如果在编译状态下,打开了.net的Development Server的虚拟服务器,则能访问正常。
请问如何解决?

解决方案 »

  1.   

    权限不足?<add key="SqlServerConnectionString" value="server=.;uid=NorthWind;pwd=sa;Database=123456"/>换成这种试试呢
      

  2.   

    express哪来的sa账号?是这样的,你的connection string里面Integrated Security=True代表用当前程序运行时账号访问。当用Development Server访问的时候,他的运行时账号是你机器登陆的账号,肯定是机器管理员,所以权限比较大。但是ASP.NET使用的是一个叫aspnet的默认运行账户来运行的,肯定不具有访问sql express的权限。解决的方法是使用ASP.NET Impersonation来指定一个ASP.NET的运行时账户。
    方法很简单,修改web.config
    <identity impersonate="true" userName="accountname" password="password" />参考:http://www.cnblogs.com/drw/articles/17946.html
      

  3.   

    express能否使用数据库身份登录呢?用提升用户权限的办法,感觉局限比较大。
    或者只能使用开发版才可以?