2011-11-18 21 views
5

specifing बिना अदिश समारोह निष्पादित मैं एक उपयोगकर्ता परिभाषित एसक्यूएल समारोह है कि मैं अब वाक्य रचना dbo.Function(arg)एसक्यूएल सर्वर - db नाम

का उपयोग कर प्रबंधन स्टूडियो से कॉल करने के लिए, जब मैं सी # से इस समारोह कॉल करनी होगी सक्षम हूँ अगर मैं डॉन **dbname**.dbo.Function(arg) निर्दिष्ट नहीं करता मुझे एक त्रुटि मिलती है कि SQL सर्वर को इस उपयोगकर्ता परिभाषित फ़ंक्शन को नहीं मिला है। मैं dbname निर्दिष्ट किए बिना इसे कैसे हल कर सकता हूं? मैं पहले से ही एक कनेक्शन स्ट्रिंग निर्दिष्ट का उपयोग कर सर्वर से कनेक्ट "initial catalog = dbname"


ऐसा लगता है कि मैं इस बात :-) पर उल्लेख व्यवहार को पुनः नहीं कर सकते हैं (या तो एसक्यूएल सर्वर 2005 या 2008 का उपयोग करके) मैं इस डाल करने के लिए है होल्ड पर सवाल

+1

क्या आप सी # कोड और सटीक अपवाद दिखा सकते हैं? –

+2

आपको अपने आवेदन द्वारा उपयोग किए गए लॉगिन पर फ़ंक्शन पर 'EXEC' अनुमतियां प्रदान करने की आवश्यकता हो सकती है। –

+0

@ मार्टिनस्मिथ मैं प्रबंधन स्टूडियो (जहां यह काम करता है) और सी # कोड दोनों में विंडोज स्वभाव का उपयोग करता हूं। जैसा कि मैंने कहा है कि अगर मैं कोड में भी जोड़ता हूं तो dbname (उदाहरण के लिए SELECT \t DATEPART (वर्ष, Activitylogs.Datastamp) AS YEAR_VALUE, dbname.dbo.ISOweek (Activitylogs.Datastamp) ... यह – Ghita

उत्तर

2

आपका कनेक्शन स्ट्रिंग डेटाबेस शुरू में उपयोग करने के लिए निर्दिष्ट करने के लिए की जरूरत है वह कुछ इस तरह दिख सकता है:।

var cn = new SqlConnection(
    "SERVER=SomeServer;DATABASE=SomeDb;Integrated Security=SSPI;" 
); 

कि बिना, आप शायद master डेटाबेस, में फेंक दिया जा रहा हो जो मैं आपको फ़ंक्शन नाम को पूरी तरह अर्हता प्राप्त करने की आवश्यकता क्यों है।

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