2013-05-10 2 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 인스턴스가 실행되는 개발 환경에서 machine.config에는 SQLExpress를 가리키는 'LocalSqlServer'라는 연결 문자열이 있습니다. 그게 내 dev에 환경에서 일한 이유입니다.

반면 서버에는 SQLExpress가 없으므로 machine.config에 LocalSqlServer 연결 문자열이 없으므로 오류가 발생합니다. 나는 그것이 dev에에서와 같이 Web.config의 작동 언급 한 바와 같이

내가 DNN 포럼에서 발견 된 해결 방법은

<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이 존재하는 의 .config의 섹션 내에서 다음 줄을 추가하는 것입니다 기계. 답변에 해결책을 게시하고 있습니다. – LKallipo

관련 문제