मैं एसक्यूएल सर्वर 2008उपयोगकर्ता द्वारा परिभाषित तालिका प्रकारों पर EXECUTE अनुमति अस्वीकार कर दी गई है?
में User-Defined Table Types बारे में एक प्रश्न हम एसक्यूएल सर्वर 2008 पर हमारे अपने टेबल प्रकार परिभाषित ASP.NET अनुप्रयोग में से एक की जरूरत उन्हें संग्रहित प्रक्रियाओं में पैरामीटर के रूप में उपयोग करने के लिए के लिए है (जब
: ASP.NET अनुप्रयोग में एसक्यूएल कमांड को क्रियान्वित हम है कि जब हम ASP.NET से Sql आदेश (संग्रहीत प्रक्रिया निष्पादित) चलाने के हम कोई त्रुटि मिलती है संग्रहीत प्रक्रिया के लिए पैरामीटर see here for an example)The EXECUTE permission was denied on the object 'ourTableType', database 'ourDatabase', schema 'ourSchema'.
समस्या यह है के रूप में DataTable ऑब्जेक्ट पारित
ऐसा क्यों है? हमें उपयोगकर्ता द्वारा परिभाषित तालिका प्रकारों पर अनुमति सेट करने की आवश्यकता क्यों है? संग्रहीत प्रक्रिया पर केवल अनुमति सेट करने के लिए पर्याप्त क्यों नहीं है? और अगर हमें इसे सेट करना है, तो कोई फर्क नहीं पड़ता कि, EXECUTE
कोई भी गुण विंडो में सेट करने के लिए अनुमति प्रकार क्यों नहीं है (मैं केवल Control
, References
, Take Ownership
, View Definition
देख सकता हूं)?
मुझे यह भी समझ में नहीं आता है कि गुण विंडो में Control
पर सेटिंग अनुमति हल करती है और संग्रहीत प्रक्रिया बिना किसी समस्या के चलती है।
संभव डुप्लिकेट ([एक संग्रहीत प्रक्रिया में टेबल महत्वपूर्ण पैरामीटर अनुमतियां अस्वीकृत त्रुटि पर अमल हो जाता है] http://stackoverflow.com/questions/2244217/table-valued-parameter-in-a-stored-procedure- होट-निष्पादन-अनुमतियां-अस्वीकार-एरो) –
धन्यवाद! मैंने खोज की है लेकिन स्पष्ट रूप से पर्याप्त नहीं है:/ – Janez
अंत में 'AS dbo' डालने का प्रयास करें। इस तरह: 'प्रकार पर अनुदान EXEC :: [स्कीमा]। [टाइपनाम] [उपयोगकर्ता] AS dbo'। मेरे लिए काम किया – Jonathan