5

पर मैं SqlMembershipProvider के साथ एएसपी.NET वेब फॉर्म एप्लिकेशन पर काम कर रहा हूं। चूंकि यह Azure पर भी चल रहा है, मैं टेबल और एसपी के लिए KB2006191 Updated ASP.NET scripts for use with SQL Azure का उपयोग करता हूं।एसजेएलएमबरशिप दोनों एज़ूर और स्टैंडअलोन एसक्यूएल सर्वर

जाहिर है, वे एक स्टैंडअलोन SQL Server 2008 R2 SP1 के साथ आसानी से काम नहीं करते हैं। विशेष रूप से dbo.aspnet_Users_DeleteUser एक आंतरिक त्रुटि आग:

Msg 8624, Level 16, State 1, Procedure aspnet_Users_DeleteUser, Line 111 Internal Query Processor Error: The query processor could not produce a query plan. For more information, contact Customer Support Services.

संपादित करें:

मैं एक एसक्यूएल बयान जो वास्तव में विफल रहता है के लिए इस मुद्दे को खराब हो गई है (भले ही मैं कड़ी मेहनत से कोड @UserId के लिए एक मूल्य):

DELETE FROM dbo.aspnet_Users WHERE UserId = @UserId 

मूल:

मैंने downloading a Cumulative Update Package and setting trace flag 4199 द्वारा अपनी SQL सर्वर स्थापना को ठीक करने का प्रयास किया। हालांकि, इससे मदद नहीं मिली। ईमानदार होने के लिए, मुझे यकीन नहीं है कि मैंने पैच को सही तरीके से लागू किया है या नहीं। मैं इस पर और शोध कर रहा हूं।

इसके अलावा, मैंने एसपी को थोड़ा लिखने की कोशिश की, क्योंकि मुझे वेब पर कुछ युक्तियां मिलीं। इससे कोई मदद नहीं मिली, और वही क्वेरी स्टैंडअलोन SQL सर्वर के लिए aspnet_regsql द्वारा उत्पन्न की गई है। वास्तव में, मैं इस बदल कर लाइन 111 के चारों ओर एक सबक्वेरी से छुटकारा पाने की कोशिश की:

IF ((@TablesToDeleteFrom & 1) <> 0 AND 
    (@TablesToDeleteFrom & 2) <> 0 AND 
    (@TablesToDeleteFrom & 4) <> 0 AND 
    (@TablesToDeleteFrom & 8) <> 0 AND 
    (EXISTS (SELECT UserId FROM dbo.aspnet_Users WHERE @UserId = UserId))) 

... इस में:

IF ((@TablesToDeleteFrom & 15) <> 0) 

किसी को भी इसी तरह के मुद्दों भर में आया था सदस्यता और दोनों Azure के साथ काम कर और स्टैंडअलोन एसक्यूएल सर्वर?

उत्तर

3

Scott Hanselman और this blog post, ASP.NET Universal Providers For SqlExpress 1.1 पैकेज (System.Web.Providers) के अनुसार एसक्यूएल Azure और स्टैंडअलोन एसक्यूएल सर्वर भर में एसक्यूएल सदस्यता, भूमिका और सत्र प्रदाताओं को सक्षम करने की आधिकारिक तौर पर समर्थित विधि है।

+0

हम सार्वभौमिक प्रदाताओं का उपयोग करते हैं और वे महान काम करते हैं। ध्यान दें कि वे केवल एएसपी.Net 4.0+ के लिए काम करते हैं। वास्तविक सुधार के लिए –

+0

+1 (और उत्तर)। मुझे अपनी वास्तविक समस्याएं अब अपनी खुद की सारणी में से एक में एक कॉलम अनुक्रमणित करके तय की गईं, जिसमें 'aspnet_Users' का विदेशी-कुंजी संदर्भ था। हालांकि, यह आमतौर पर अनुकूली नहीं है। –

संबंधित मुद्दे