خادم المجتمع المستخدم المسألة المستخدم اسم المستخدم لم يتم العثور على في عضوية المخزن غير موجود

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

  •  03-07-2019
  •  | 
  •  

سؤال

لدي خطأ التي تحدث في كثير من الأحيان من مجتمعنا تثبيت ملقم كلما googlesitemap.ashx اجتاز على معين sectionID.وأظن أن المستخدم قد تم تعديله ولكن الوظائف havn't recached لتعكس هذا.

هل هناك طريقة يمكن التحقق من البيانات integruity قبل تنفيذ عبارة select على قاعدة البيانات بدلا من ذلك هل هناك طريقة لإجبار قاعدة بيانات recache?

هل كانت مفيدة؟

المحلول

هذا الخطأ يمكن أن يكون طرح من قبل المجتمع الخادم إذا كان يجد المستخدمين لا مثيل MemberRoleProfileProvider.

انظر CommunityServer.المستخدمين 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