本地 IIS 无法连接本地数据库

Local IIS unable to connect local database

我正在使用来自 (localdb)\V11.0 服务器的数据库,并且在使用来自 VS2013 的 IIS express 时能够成功连接,但是当部署在 LocalIIS 中时,它给我一个错误 -

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.

为了解决这个问题,我更新了 applicationHost.config 文件如下

<add name="DefaultAppPool">
    <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
 </add>

现在虽然没有连接数据库,但是显示了首页,但是所有数据驱动的下拉值都是空的。我也试过将 Application pool 更改为 LocalSystem 但网站无法连接数据库。有没有我需要调查的特定领域?

您可以检查应用程序池/本地系统是否有访问数据库的帐户。还有一个选项可以让用户模拟用户 https://support.microsoft.com/en-us/kb/306158 示例:

<identity impersonate="true" userName="accountname" password="password" />

为了在我的机器上获取本地数据库 运行 IIS,我遵循了 this msdn blog

中的指导

最适合我的解决方案是将 IIS 应用程序池配置为 运行 作为我的 windows 用户。

这是通过 IIS 界面完成的。在 "Application Pools" 部分,右键单击一个(或多个)并选择 "Advanced Settings"。选择 "Identity" 和 "Custom" 然后输入您的用户名和密码。