我正在连接到远程数据库。该连接适用于 ASP.NET 开发服务器,但由于我切换到使用 IIS 而失败。这是我的连接字符串:
<add name="ConnectionString"
connectionString="Server=SQL-NWSS-048\SHRDDEV01;Database=PESTS;Trusted_Connection=True;"
providerName="System.Data.SqlClient" />
我正在连接到远程数据库。该连接适用于 ASP.NET 开发服务器,但由于我切换到使用 IIS 而失败。这是我的连接字符串:
<add name="ConnectionString"
connectionString="Server=SQL-NWSS-048\SHRDDEV01;Database=PESTS;Trusted_Connection=True;"
providerName="System.Data.SqlClient" />
在 Cassini 中,网站在您的帐户下运行。由于您的帐户有权访问数据库,因此它可以工作,因为您使用 Windows 集成安全性来访问 SQL Server。(可信连接=真)。
在 IIS 中,除非您对其进行不同的配置,否则它会在<Server Name>\Network Service帐户下运行,该帐户是该服务器上的本地帐户。奇怪的是该帐户无权访问数据库。
请参阅如何:使用 Windows 集成安全性访问 SQL Server
与使用 SQL Server 身份验证相比,这相对困难。我建议使用 SQL Server 身份验证,如果您的情况允许,您可以在其中传递用户名/密码。请务必加密 web.config 中的连接字符串。