部署vs报表时发生登录失败的问题
用vs2010的reportviewer做了一个简单的报表展示界面,在vs的调试状态下,显示都没有问题,但是用vs的发布网站发布到IIS6后,打开出现
- 处理报表时出错。
- 调用的目标发生了异常。
- 用户 'XXXXXXXXIWAM_CHINA-63C2C51D6' 登录失败。
查看了IIS的配置,已经配置好了是使用IUSER_CHINA-63C2C51D6'登录的,很奇怪的是报错的竟然是IWAM_CHINA-63C2C51D6' 用户。
后查看web.config配置,发现是数据库配置问题。
<add name="acrConnectionString" connectionString="Data Source=127.0.0.1;Initial Catalog=acr;Integrated Security=true;" providerName="System.Data.SqlClient"/>
原来数据库访问是使用Windows的验证,vs由于是当前用户访问,没有问题。
发布到IIS后,IIS内置账户没有访问数据库的权限,所以导致了登录失败的问题。
解决办法:
数据库使用普通的帐号密码登录,即修改web.config的数据库访问配置
<connectionStrings>
<add name="acrConnectionString" connectionString="Data Source=WUMYBOOK;Initial Catalog=acr;User Id=myUsername;Password=myPassword;" providerName="System.Data.SqlClient"/>
</connectionStrings>
ps:各种数据库连接字符串可参考:http://www.connectionstrings.com/
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
Great information! I’ve been looking for something like this for a while now. Thanks!