社区服务器用户名问题 - 用户在会员商店中找不到的用户名不存在
-
03-07-2019 - |
题
每当在特定的sectionID上遍历googlesitemap.ashx时,我的社区服务器安装经常会出现错误。我怀疑用户名已被修改,但是这些帖子没有被回复以反映这一点。
有没有办法可以通过在数据库上执行select语句来检查数据集成,或者是否有办法强制数据库重新缓存?
解决方案
如果社区服务器发现不在MemberRoleProfileProvider实例中的用户,则可能抛出此错误。
请参阅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/论坛/吨/ 490899.aspx?的PageIndex = 2
其他提示
不是一个答案,但您可以通过运行以下查询找到受影响的数据条目...
Select *
FROM cs_Posts
Where UserID Not In (Select UserID
From cs_Users Where UserAccountStatus = 2)
不隶属于 StackOverflow