我有一个简单的Web服务,可以查询简单的.mdf
数据库。
我正在使用IIS并使其成为一个有效的应用程序。
我可以从任何地方激活此Web服务上的所有功能。
但是当我尝试查询数据库时,我收到了这个错误:
System.Data.SqlClient.SqlException(0x80131904):无法打开登录请求的数据库“gateway”。登录失败。
11-27 21:32:01.437:W / System.err(765):用户'IIS APPPOOL \ masn'登录失败。
我的连接字符串是:
<add name="gatewayConnectionString"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=gateway;Integrated Security=True"
providerName="System.Data.SqlClient"/>
那我怎么能让它运作起来呢?更改我的连接字符串?在某处更改权限?
答案 0 :(得分:1)
错误表示运行Web服务的帐户无法访问数据库。在连接字符串中,您已指定了可信连接,因此IIS中为您的服务应用程序池指定的帐户将用于登录SQL服务器。
解决方案是让应用程序池帐户(IIS APPPOOL \ masn)访问gateway
数据库,或更改连接字符串以包含有权访问它的用户名和密码,如下所示: / p>
<add name="gatewayConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=gateway;User ID=someuser;Password=somepassword" providerName="System.Data.SqlClient"/>
使用可信连接是更好的方法,因为您不必在某处存储密码。