2015-06-12 10 views
8

मैं एसएसआईएस के भीतर एक "अभिव्यक्ति कार्य" का उपयोग करने की कोशिश कर रहा हूं ताकि बस दो चर प्रारंभ/सेट कर सकें। यह प्रतीत होता है सरल कार्य है क्योंकि मैं बयान को अलग करने के पता नहीं कैसे मुझे पागल प्रेरित किया है:एसएसआईएस अभिव्यक्तियां दो चर सेटिंग

@[User::testVariable]="1" 
@[User::testVar2]=3 

एक पार्स त्रुटि देता है यही कारण है कि, और मैं कोई लाभ नहीं हुआ दस्तावेज की काफी एक बहुत कुछ के माध्यम से पढ़ा है। कैसे बयान अलग होती है और मुझे आशा है कि मैं क्योंकि मैं चर का एक बहुत कुछ है एक से अधिक अभिव्यक्ति कार्य का उपयोग करने की जरूरत नहीं है ... धन्यवाद

+1

यदि आपको बहुत से चर सेट करने की आवश्यकता है, तो मैं एक स्क्रिप्ट कार्य का उपयोग करूंगा। –

+1

टिप्पणी के लिए धन्यवाद: लेकिन वे एक ही बात नहीं हैं। स्क्रिप्ट कार्य के लिए आपके पास कार्य को पैरामीटर करने का विकल्प नहीं है, इसलिए यह स्थैतिक है। मैं पैरामीटर में अपने चर निर्दिष्ट कर रहा हूं और इसलिए मुझे इसे एसएसआईएस स्तर पर समायोजित करने में सक्षम होना चाहिए। – LearnByReading

+0

सुनिश्चित नहीं है कि "कार्य को पैरामीटर करना" से आपका क्या मतलब है ... क्या आपका मतलब यह है कि आप यह नहीं कर सकते कि वे आपको बताते हैं कि इस मंच के उत्तर में कैसे करें ?: https://social.msdn.microsoft.com/forums/sqlserver/en-US/8fd1335a-783f-455e-9853-f366f0957b1b/कैसे-उपयोग-पैरामीटर-इन-ए-स्क्रिप्ट-कार्य –

उत्तर

15

आप एक समय में 1 चर केवल सेट कर सकते हैं:

रनटाइम के दौरान एक चर के मान को बदलने के लिए आपको अभिव्यक्ति या स्क्रिप्ट कार्य की आवश्यकता है। अभिव्यक्ति बहुत लचीली नहीं है और स्क्रिप्ट कार्य के लिए .NET ज्ञान की आवश्यकता है। यही कारण है कि माइक्रोसॉफ्ट एसएसआईएस 2012 में अभिव्यक्ति कार्य पेश किया। यह आपको रनटाइम के दौरान एक चर के मान को सेट करने में सक्षम बनाता है। डाउनसाइड यह है कि यह 2008 के लिए उपलब्ध नहीं है और आप केवल पर एक चर सेट कर सकते हैं।

http://microsoft-ssis.blogspot.com/2013/07/custom-ssis-component-multiple.html

आप एक स्वनिर्धारित Multiple Expressions Task घटक उस लिंक पर प्रदान की जाती है डाउनलोड या प्रत्येक चर के लिए एक Expression Task करने के लिए होगा।

+2

मुझे विश्वास नहीं है कि यह मुझे सबसे अच्छा जवाब लेने में इतना लंबा लगा - भले ही उसने मुझे और कई अन्य लोगों की मदद की। – LearnByReading

4

कुछ मैं हाल ही में कर रही शुरू कर दिया है, जो लोगों के लिए उपयोगी हो सकता है:

बल्कि या तो कई अभिव्यक्ति कार्य या स्क्रिप्ट कार्य की स्थापना की परेशानी पर जाने के लिए की तुलना में, मैं इसे अक्सर संभव है एहसास हुआ गए काम पूरा करने के लिए एक निष्पादित SQL कार्य का उपयोग करने के लिए। आपके द्वारा कनेक्ट किए जाने वाले डेटाबेस के आधार पर SQL आवश्यक कुछ भिन्न हो सकता है, मेरा उदाहरण SQL सर्वर पर आधारित है।

मेरा उदाहरण पैरामीटर से प्रारंभिक चर पर आधारित है, लेकिन इसे विभिन्न स्थितियों के लिए tweaked किया जा सकता है। इन मानकों या चर आप से मूल्यों की आवश्यकता कर रहे हैं -

चरण 1

एक प्रश्न है कि में पैरामीटर स्वीकार बनाएँ। आप निश्चित रूप से 0 को एक चर शुरू करने के लिए इसका उपयोग कर सकते हैं या कुछ पैरामीटर या चर पर कुछ अंकगणित कर सकते हैं।

उपयोग परिणाम सेट विकल्प के लिए एकल पंक्ति विकल्प।

General Tab

चरण 2

हमेशा की तरह अपने पैरामीटर मानचित्रण सेट करें।

Parameter Mapping Tab

चरण 3

अपने परिणाम सेट सेट करें।

Result Set Tab


मुझे लगता है कि यह करने के लिए नकारात्मक पक्ष यह है कि आप इसे करने के लिए एक डेटाबेस से कनेक्ट कर रहे है - लेकिन अगर आप SSIS स्थापित किया है, तो आप उस सर्वर पर एक एसक्यूएल सर्वर उदाहरण है - इसलिए मुझे यकीन नहीं है कि यह बहुत कम है।

मुझे स्क्रिप्ट कार्य सेट करने की तुलना में परेशानी का बहुत कम लगता है, लेकिन वाईएमएमवी।

+0

यह मजाकिया है कि आपने सलाहकार से यह सीखने के एक दिन बाद सचमुच इसका प्रस्ताव कैसे दिया है! मैं प्रमाणित करता हूं कि यह विधि काम करती है, लेकिन मुझे यकीन नहीं है कि यह अन्य विधियों की तुलना में अधिक/कम कुशल है। उत्तर देने के लिए बहुत बहुत धन्यवाद – LearnByReading

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