커뮤니티 서버 사용자 이름 문제 - 멤버십 스토어에서 찾을 수없는 사용자 사용자 이름이 존재하지 않습니다.

StackOverflow https://stackoverflow.com/questions/156688

  •  03-07-2019
  •  | 
  •  

문제

GooglesItemap.ashx가 특정 섹션에 통과 될 때마다 커뮤니티 서버 설치에서 자주 발생하는 오류가 있습니다. 나는 사용자 이름이 수정되었다고 생각하지만 게시물은 이것을 반영하기 위해 재시성되지 않았습니다.

데이터베이스에서 일부 명령문을 수행하여 데이터 통합을 확인할 수있는 방법이 있습니까? 또는 데이터베이스를 재구성하도록 강요하는 방법이 있습니까?

도움이 되었습니까?

해결책

이 오류는 Community Server가 MemberRoleProfofiprovider의 인스턴스에없는 사용자를 찾으면 커뮤니티 서버에서 던질 수 있습니다.

CommunityServer.users를 참조하십시오 AddMembershipDatatouser () 예로서

업데이트:


사용자 이름이 CS_USERS와 ASPNET_USERS의 두 테이블에 저장되어 있음을 알면서이 문제를 해결했습니다. 어떻게 든 사용자 이름이 각 테이블마다 다릅니다. 수동으로 업데이트하여 이름이 동일한 문제를 해결했습니다.

또한 사용자는 저장된 절차의 다음 줄에서 멤버십을 제외하고 cs_membership_getusersbyname:

INSERT INTO @tbUsers
  SELECT UserId
  FROM   dbo.aspnet_Users ar, @tbNames t
  WHERE  LOWER(t.Name) = ar.LoweredUserName AND ar.ApplicationId = @ApplicationId

@tbnames는 어느 시점에서 CS_USERS (?)에서 나온 이름 테이블이므로 사용자 이름이 일치하지 않았으며 사용자가 나중에 결과에 삽입되지 않았습니다.


또한보십시오: http://dev.communityserver.com/forums/t/490899.aspx?pageindex=2

다른 팁

답은 많지 않지만 다음 쿼리를 실행하여 영향을받는 데이터 항목을 찾을 수 있습니다 ...

Select * 
FROM cs_Posts
Where UserID Not In (Select UserID 
                     From cs_Users Where UserAccountStatus = 2)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top