मेरे पास SQL Server 2008 में उपयोगकर्ता-परिभाषित तालिका प्रकारों के बारे में एक प्रश्न है ।
ASP.NET अनुप्रयोग की आवश्यकता के लिए हमने SQL सर्वर 2008 पर अपने स्वयं के टेबल-प्रकारों को निर्धारित प्रक्रियाओं में पैरामीटर के रूप में उपयोग करने के लिए परिभाषित किया (जब ASP.NET अनुप्रयोग में sql कमांड निष्पादित करते हैं तो हम संग्रहीत प्रक्रिया के लिए पैरामीटर के रूप में DataTable ऑब्जेक्ट को पास करते हैं। एक उदाहरण के लिए यहाँ देखें )
समस्या यह है कि जब हम ASP.NET से Sql कमांड चलाते हैं (संग्रहीत कार्यविधि निष्पादित करते हैं) तो हमें एक त्रुटि मिलती है:
EXECUTE की अनुमति ऑब्जेक्ट 'ourTableType', डेटाबेस 'ourDatabase', स्कीमा 'ourSchema' पर अस्वीकार कर दी गई थी।
ऐसा क्यों हैं? हमें उपयोगकर्ता-परिभाषित तालिका प्रकारों पर अनुमति देने की आवश्यकता क्यों है? केवल संग्रहीत प्रक्रिया पर अनुमति का उपयोग करने के लिए पर्याप्त क्यों नहीं है जो इसका उपयोग करता है? और हम इसे कोई बात नहीं क्या, क्यों कोई है स्थापित करने के लिए करता है, तो EXECUTE
जो भी गुण विंडो में सेट करने के लिए अनुमति का प्रकार (मैं केवल देख सकते हैं Control
, References
, Take Ownership
, View Definition
)?
मुझे यह भी समझ में नहीं आता है कि Control
गुण विंडो में सेटिंग की समस्या हल करती है और संग्रहीत कार्यविधि समस्याओं के बिना चलती है।