2013-05-10 70 views
0

我已經使用駐留在另一臺計算機(sqlserver 2008)中的數據庫安裝了DNN7的本地安裝。 我試圖將所有文件系統複製到生產服務器,但保持連接字符串相同,因此請使用完全相同的數據庫。2指向同一數據庫的DNN文件系統

我得到的消息

「連接名‘LocalSqlServer’在應用程序的配置沒有被發現或連接字符串是空的。」

 
    <roleManager> 
     <providers> 
       <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 

應用程序池和IIS設置在兩臺計算機中都是相同的。任何想法我缺少什麼?

回答

0

問題缺少以下部分不得不與角色成員資格提供這樣做。 由於某種原因,AspNetSqlMembershipProvider提供程序回退到machine.config中的默認值(位於.NET文件夾中)。

在運行SQLEXpress實例的dev環境中,machine.config有一個名爲「LocalSqlServer」的連接字符串,它指向SQLExpress。這就是爲什麼它在我的開發環境中工作。

另一方面,服務器沒有SQLExpress,因此machine.config中不存在LocalSqlServer連接字符串,因此會彈出錯誤消息。

我在DNN論壇上找到的解決方法是添加網絡的.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" /> 
0

您在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> 
+0

中存在的ConnectionStrings的部分內這些行,正如我所說的Web.config工作,它是在開發機。我在答案中發佈解決方案 – LKallipo 2013-05-15 08:03:26