【问题标题】:Local db on SQLExpress errorSQLExpress 错误上的本地数据库
【发布时间】:2012-11-27 19:55:51
【问题描述】:

我有一个简单的 Web 服务,它可以工作并查询一个简单的 .mdf 数据库。

我正在使用 IIS 并使其成为一个工作应用程序。

我可以从任何地方激活此网络服务上的所有功能。

但是当我尝试查询数据库时,我得到了这个错误:

System.Data.SqlClient.SqlException (0x80131904):无法打开登录请求的数据库“网关”。登录失败。
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"/>

那么我怎样才能让它工作呢?更改我的连接字符串?在某处更改权限?

【问题讨论】:

标签: asp.net .net sql-server database web-services


【解决方案1】:

错误表明运行 Web 服务的帐户无法访问数据库。在连接字符串中您已指定受信任的连接,因此在 IIS 中为您服务的应用程序池指定的帐户将用于登录 SQL 服务器。

解决方案是让应用程序池帐户 (IIS APPPOOL\masn) 访问 gateway 数据库,或更改连接字符串以包含有权访问它的用户名和密码,如下所示:

<add name="gatewayConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=gateway;User ID=someuser;Password=somepassword" providerName="System.Data.SqlClient"/>

使用受信任的连接是更好的方法,因为您不必在某处存储密码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多