在 DNN 中连接到数据库失败
Posted
技术标签:
【中文标题】在 DNN 中连接到数据库失败【英文标题】:Connection To The Database Failed in DNN 【发布时间】:2013-05-08 13:44:53 【问题描述】:我正在尝试安装 DotNetNuke,我使用 Window Server 2008 创建了一个虚拟机,并按照视频系列安装了 DotNetNuke。
当我运行 InstallerWizard 时,我收到此错误:“连接到数据库失败”
请注意,当我没有找到帐户是 apppol/dnndev.me 时,我将我的虚拟登录帐户添加为数据库所有者,我什至创建了一个帐户但仍然没有。
我对此感到沮丧,我花了 3 天时间试图解决它,因为我对 IIS 了解不多。
【问题讨论】:
你是如何配置 SQL Server 的? Express 还是连接到现有数据库? 当我打开 SQL Studio 管理器时,我会在服务器名称中获得 WIN-O10UIAC9FNG\SQLEXPRESS,第一个是我的机器名称,然后我创建了一个数据库并将帐户作为所有者添加到这个数据库 我删除了此帐户并为所有应用程序池和站点文件夹添加了网络服务,并且作为数据库所有者,页面仅在数据库部分加载第一部分我收到错误数据库连接错误 您可以从您的 web.config 中发布连接字符串吗? (只要确保它不包含任何密码或公共 IP 地址)。 我尝试修改站点 web.config 中的连接字符串,但仍然出现连接错误,我将其更改如下, 【参考方案1】:您是否尝试使用 SQL Server Express 进行设置?如果是 express 版本,我建议您将 AppPool 身份设置为 ApplicationPoolIdentity 并将“加载用户配置文件”设置为“True”。
【讨论】:
感谢您的回复,但我在哪里可以设置 AppPool 身份? 检查 IIS 中的 APPLICATION POOL 以查看它在哪个帐户下运行 它在 ApplicationPoolIdentity 下运行 我改成了NETWORK SERVICE账号 当您拥有 AppPool 身份时 - 您需要拥有正确的文件夹权限。从命令提示符执行以下 ------ icacls C:\MyWebSitePath /grant "IIS APPPOOL\MyAppPoolName":(OI)(CI)(F)【参考方案2】:当我尝试在本地设置网站时遇到同样的错误。我的是由于应用程序池中的用户身份错误。这就是我为解决它所做的:
1) 在 IIS 中,转到您的站点,单击基本设置或高级设置,然后找到应用程序池名称。
2) 在 IIS 中,在左侧的应用程序池树分支下,选择您站点的应用程序池,然后单击它。
3) 点击高级设置,然后点击身份。设置帐号的用户名和密码。
【讨论】:
【参考方案3】:将您的应用程序池标识更改为 NetworkService
打开 IIS(运行->inetmgr)并按照下面屏幕截图中的步骤操作。
IIS -> Change Application Pool Indentity for DNN Site
【讨论】:
以上是关于在 DNN 中连接到数据库失败的主要内容,如果未能解决你的问题,请参考以下文章
如果在 Android 中连接到 BLE 设备失败,如何通知用户?
在 C# 中连接到 Websphere MQ 有效,但在 C++ 中失败,代码为 2058 (MQRC_Q_MGR_NAME_ERROR)