पर चयन अनुमति अस्वीकार कर दी गई थी, मैं विजुअल स्टूडियो 2008 और SQL सर्वर 2008 का उपयोग कर C# ASP.NET पर पिछले 7 महीनों के लिए काम कर रहा हूं।ऑब्जेक्ट 'पता', डेटाबेस 'CNET_85731', स्कीमा 'डीबीओ'
आज, मैं अपने आवेदन जो पहले से चल रहा था का हिस्सा चल रहा था और मैं निम्नलिखित त्रुटि मिली:
चयन अनुमति वस्तु 'पता', डेटाबेस 'CNET_85731' पर मना कर दिया था, स्कीमा 'dbo'।
मैं अपने कोड के माध्यम से चला गया और पता चला कि इस त्रुटि को निम्नलिखित उपयोगकर्ता नियंत्रण में की वजह से किया जा रहा था:
protected void sdsAddressesList_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
if (e.AffectedRows == 0)
{
ddlAddresses.Items.Insert((0), new ListItem("No Billing Addresses", "0"));
}
}
SQLDataSource परिभाषित किया गया है इस प्रकार है:
<asp:SqlDataSource ID="sdsAddressesList" runat="server" OnSelecting="sdsAddressesList_Selecting" OnSelected="sdsAddressesList_Selected"
SelectCommand="SELECT [AddressId], [ZipPostalCode], ZipPostalCode + ' -- ' + Address1 AS CombinedAddress FROM [Address] WHERE ([CustomerID] = @CustomerID AND [IsBillingAddress] = @IsBillingAddress) ORDER BY [ZipPostalCode]"
ConnectionString="<%$ ConnectionStrings:eCoSysConnection %>">
<SelectParameters>
<asp:Parameter Name="CustomerID" Type="Int32" />
<asp:Parameter Name="IsBillingAddress" Type="Boolean" />
</SelectParameters>
</asp:SqlDataSource>
असल में, क्या नियंत्रण करता है [पता] तालिका से लॉग ऑन उपयोगकर्ता के लिए पते की एक सूची पुनर्प्राप्त करें और फिर ड्रॉप डाउन सूची ddlAddresses को पॉप्युलेट करें।
पता तालिका में डेटाबेस में शेष तालिकाओं के समान सभी अनुमतियां हैं। मेरे पास लगभग 60 टेबल हैं और लगभग 200 संग्रहीत प्रक्रियाएं सभी चुपके से काम कर रही हैं, आदि कोई समस्या नहीं है। इस मुद्दे को छोड़कर। पृथ्वी पर क्या चल रहा है? मैंने डेटाबेस या तालिका अनुमतियों में कोई बदलाव नहीं किए हैं।
क्या कोई मेरी मदद कर सकता है।
सादर
वाल्टर
क्या कनेक्शन स्ट्रिंग सही डेटाबेस पर इंगित कर रही है (जिसमें एक उचित अनुमति सेटअप है)? – shahkalpesh
हां। web.config में कनेक्शन स्ट्रिंग निम्नानुसार है: <नाम जोड़ें = "eCoSysConnection" कनेक्शनस्ट्रिंग = "सर्वर = पॉजिटिववेक-यूडब्ल्यू \ SQLSERVER2008STD; एकीकृत सुरक्षा = सही; डेटाबेस = CNET_85731" प्रदाता नाम = "सिस्टम। डेटा। SQL क्लाइंट"/> मैं हर समय डेटाबेस तक पहुंचने के लिए इस समान कनेक्शन स्ट्रिंग का उपयोग करता हूं। –
क्या आपके विंडोज लॉगिन के साथ कुछ भी बदल गया है जो एसक्यूएल सर्वर से जुड़ा हुआ है? – shahkalpesh