9

मैं अपने SQL सर्वर 2005 एक्सप्रेस में संग्रहीत प्रक्रिया में एक टेबलडैप्टर जोड़ने का प्रयास कर रहा हूं। संग्रहित प्रक्रिया, हालांकि, #temp नामक अस्थायी तालिका का उपयोग करती है। तालिका एडाप्टर बनाते समय, विजुअल स्टूडियो "अज्ञात ऑब्जेक्ट '#temp' की शिकायत करता है और कहता है कि संग्रहीत प्रक्रिया 0 कॉलम लौटाती है। यह समस्याग्रस्त है क्योंकि मैं उस संग्रहित प्रक्रिया का उपयोग क्रिस्टल रिपोर्ट के साथ करता हूं, और उन कॉलमों की आवश्यकता होती है।मेरा टाइप किया गया डेटासेट अस्थायी तालिकाओं की तरह क्यों नहीं है?

मैं इसे कैसे ठीक कर सकता हूं?

उत्तर

30

विचित्र। this के अनुसार आप की सपा के रूप में भाग के बाद सपा सही करने के लिए

IF 1=0 BEGIN 
    SET FMTONLY OFF 
END 

जोड़ सकते हैं और यह काम करता है। विजुअल स्टूडियो में अब इसके साथ कोई समस्या नहीं है। मुझे नहीं पता कि यह ऐसा क्यों काम करता है, या यह क्यों काम करेगा, लेकिन ऐसा करता है।

+2

किसी को शायद खराब बालदिन हो रहा है। यह मेरी मदद की। +1 –

+0

मैं बस इतना कह सकता हूं ... वाह। यह काम। यह मेरे लिए एक बड़ा बड़ा सौदा है। मैं अस्थायी तालिकाओं का उपयोग करता हूं जिन्हें चलाने वाली रिपोर्ट के प्रत्येक उदाहरण के लिए अद्वितीय होना आवश्यक है। किसी अन्य वर्कस्टेशन से टेबल को ओवरराइट नहीं किया जा सकता है। मुझे अपनी संग्रहीत प्रक्रिया के साथ काम करने के लिए अस्थायी तालिकाओं की आवश्यकता थी। धन्यवाद। –

1

यह पुराना धागा हो सकता है और उत्तर मिल गया है, लेकिन जब कोई इस कोड को देखने और देखने के बाद आपकी संग्रहीत प्रक्रिया में आता है, तो वह वास्तव में समझ में नहीं आता है। एक और तरीका यह ठीक से करने के लिए नहीं है और यह केवल इस तरह की एक चर के रूप में तालिका घोषित करने के लिए है:

DECLARE @temp TABLE 
(
    SomeText1 nvarchar(255), 
    SomeText2 nvarchar(255) 
) 

इसके अलावा, भूल नहीं है अंत में ड्रॉप तालिका हटाने के लिए।

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