Dotnetnuke 指向同一数据库的2个DNN文件系统
我已经使用另一台计算机(SQLServer2008)中的数据库安装了DNN7的本地安装。 我尝试将所有文件系统复制到生产服务器,但保持连接字符串不变,因此使用完全相同的数据库 我明白了 “在应用程序配置中找不到连接名称'LocalSqlServer',或者连接字符串为空。”Dotnetnuke 指向同一数据库的2个DNN文件系统,dotnetnuke,Dotnetnuke,我已经使用另一台计算机(SQLServer2008)中的数据库安装了DNN7的本地安装。 我尝试将所有文件系统复制到生产服务器,但保持连接字符串不变,因此使用完全相同的数据库 我明白了 “在应用程序配置中找不到连接名称'LocalSqlServer',或者连接字符串为空。” 两台计算机中的应用程序池和IIS设置相同。你知道我遗漏了什么吗 web.config中缺少以下部分 <connectionStrings> <!-- Connection String for SQL S
两台计算机中的应用程序池和IIS设置相同。你知道我遗漏了什么吗 web.config中缺少以下部分 <connectionStrings> <!-- Connection String for SQL Server 2005/2008 Express --> <!-- Connection String for SQL Server 2005/2008 <add name="SiteSqlServer" connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;" providerName="System.Data.SqlClient" /> --> </connectionStrings>
问题与角色成员资格提供程序有关。 出于某种原因,AspNetSqlMembershipProvider提供程序返回到machine.config(在.NET文件夹中)中的默认提供程序 在运行SQLEXpress实例的开发环境中,machine.config有一个名为“LocalSqlServer”的连接字符串,该字符串指向SQLEXpress。这就是它在我的开发环境中工作的原因 另一方面,服务器没有SQLExpress,因此machine.config中不存在LocalSqlServer connectionstring,因此会弹出错误 我在DNN论坛中找到的解决方法是将这些行添加到web配置的部分中
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=dbserver;Integrated Security=false;Initial Catalog=dbName;User ID=dbUser;Password=dbPass" providerName="System.Data.SqlClient" />
连接字符串存在,正如我提到的,web.config的工作方式与开发人员机器中的工作方式相同。我在回复中发布了解决方案
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=dbserver;Integrated Security=false;Initial Catalog=dbName;User ID=dbUser;Password=dbPass" providerName="System.Data.SqlClient" />