SSIS में स्क्रिप्ट टास्क संस्करण कैसे बदलें?


10

मैंने VS2015 में एक SSIS प्रोजेक्ट के लिए स्क्रिप्ट टास्क जोड़ा। जब मैंने SQL Server 2016 में तैनाती की तो मुझे एक त्रुटि संदेश मिला कि version 15.0स्क्रिप्ट समर्थित नहीं है।

यह कहां होता है version 15 come from? स्टैक ओवरफ्लो पर इसी तरह के अन्य प्रश्नों को पढ़ते हुए, मैं देखता हूं कि आप प्रोजेक्ट का लक्ष्य संस्करण SQL सर्वर 2012 में सेट कर सकते हैं - जो मैंने किया था (अंतिम तैनाती लक्ष्य SQL सर्वर 2012 है)।

मैंने स्क्रिप्ट टास्क को हटाने और फिर से बनाने की भी कोशिश की। और स्क्रिप्ट की जानकारी में यह कहा गया है कि यह C # के V10 का उपयोग कर रहा है।

मैं इसे कैसे हल करूं?

स्क्रिप्ट टास्क: त्रुटि: XML से स्क्रिप्ट टास्क लोड करते समय एक अपवाद था: System.Exception: The Script Task "" ST_a1ad9dc5972c42c68a12a13155f10b6d "" एकीकरण सेवाओं की इस रिलीज़ में समर्थित नहीं है जो संस्करण 15 वीं स्क्रिप्ट का उपयोग करता है। पैकेज को चलाने के लिए, नई VSTA स्क्रिप्ट बनाने के लिए स्क्रिप्ट कार्य का उपयोग करें। ज्यादातर मामलों में, स्क्रिप्ट्स समर्थित संस्करण का उपयोग करने के लिए स्वचालित रूप से परिवर्तित हो जाती हैं, जब आप SQL सर्वर एकीकरण सेवा पैकेज को SQL_PRODUCT_SHORT_NAME% एकीकरण सेवाओं में खोलते हैं। Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML (XmlElement elemProj, IDTSInfoEvents ईवेंट) पर "

मैंने एसएसडीटी 2012 में भी परियोजना खोली है और एक अलग नाम के साथ पुनर्निर्माण किया है। वही त्रुटि। ऐसा लगता है कि एक संदर्भ होना चाहिए जो नष्ट नहीं हुआ था या कुछ और था।

इस प्रश्न पर कोई भी समाधान ( /programming/34893267/ssis-script-task-vs15-not-work-when-deploy-on-sql-server-2014 ) ने काम नहीं किया।

उस पैकेज में XML को देखते हुए जहां स्क्रिप्ट है, मैं आसानी से उस कार्य को पा सकता हूं, और कहीं भी संस्करण 15 का कोई संदर्भ नहीं है।

=========== EDIT

डेटाबेस को होस्ट करने वाली मशीन पर प्रोजेक्ट की प्रतिलिपि बनाने के बाद, वीएस2015 खोलना और वहां से तैनात करना, पैकेज निष्पादित करता है।

और फिर जब मेरी मशीन पर वापस जा रहा है और वहां निर्माण कर रहा है, तो यह नहीं है।

क्या यह एक बग है? या क्या मैं वीएस से जादूगर का उपयोग करने के रूप में एक ही तैनाती विज़ार्ड का निर्माण करने की उम्मीद करके कुछ बेवकूफ बना रहा हूं ...

मेरे पास SQL ​​Server 2016 (13.0.4411.0) है, ssisdbस्कीमा संस्करण (13.0.1601.5) है।

मैं विज़ुअल स्टूडियो 2015 में बनाए गए एकीकरण सेवाओं के पैकेज का उपयोग कर रहा हूं। स्क्रिप्ट घटक में पथ है: C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstaxयह मुझे एकीकरण सेवाओं के कैटलॉग (Zach द्वारा अनुभव किए गए संदेश के कारण) के माध्यम से पैकेज को निष्पादित नहीं करने देगा। हालाँकि ऐसा लगता है कि यह मुझे फ़ाइल सिस्टम (SQL एजेंट का उपयोग करके) के माध्यम से इसे निष्पादित करने देगा। यदि यह काम कर रहा है तो अनसुना करें, पैकेज पूरा होने के बाद इसे अपडेट कर देगा।


पैकेज संस्करणों को निर्दिष्ट करते समय मैंने वही देखा है। मैंने अपना प्रोजेक्ट बनाया और SQL सर्वर लक्ष्य संस्करण को बदलने की भूल करते हुए विज़ार्ड की प्रतिलिपि बनाई। मुझे एक त्रुटि मिली कि लक्ष्य संस्करण बहुत अधिक था। जब मैंने सही लक्ष्य संस्करण के साथ पुनर्निर्माण किया तो मुझे वही त्रुटि मिली, इसके बावजूद XML ने सही लक्ष्य संस्करण दिखाया
Zach Smith

जवाबों:


5

मेरा मानना ​​है कि मेरे पास एक ही मुद्दा है, और यहां मेरे काम के आसपास का काम है।

विवरण पहले:

  • मेरे पास sql सर्वर 2016 (13.0.4411.0) है
  • SSISDB का स्कीमा संस्करण है (13.0.1601.5)
  • मैं दृश्य स्टूडियो में बनाए गए एकीकरण सेवाओं के पैकेज का उपयोग कर रहा हूं
  • स्क्रिप्ट घटक (जो बताता है कि यह 2015 सी # है) में पथ है: C: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ DTS \ Binn \ VSTA14_IS_ST_CS_Template.vstax

यदि मैं SSMS के माध्यम से कैटलॉग में तैनात हूं, तो यह मुझे एकीकरण सेवाओं के कैटलॉग के माध्यम से पैकेज को निष्पादित नहीं करने देगा (Zach द्वारा अनुभव किए गए संदेश के कारण - संस्करण 15.0 समर्थित नहीं है)।

वर्कअराउंड:

यदि मैं आवश्यक उदाहरण पर विज़ुअल स्टूडियो के माध्यम से पैकेज को 'इंटीग्रेशन सर्विसेज कैटलॉग' में तैनात करता हूं, तो यह संदेश चला जाता है और प्रोजेक्ट सफलतापूर्वक चलता है। यह आदर्श नहीं है क्योंकि हमें SSMS के माध्यम से तैनात करने में सक्षम होना चाहिए, लेकिन इसका मतलब है कि परियोजना प्रगति कर सकती है।


1
मुझे यह जानकर अच्छा लगेगा कि वर्कअराउंड क्यों काम करता है।
जैच स्मिथ

4

मेरे डीबीए ने अंततः मेरे लिए यह पता लगाया और मुद्दा यह था कि मैं एसएसएमएस 2017 के माध्यम से इसे साकार किए बिना तैनात कर रहा था। त्रुटि संदेश ने मुझे भटका दिया लेकिन आपके समाधान ने विफलता के पीछे तर्क करने में मदद की। मुझे लगता है कि आप SSMS 2016 को आजमा सकते हैं और देख सकते हैं कि क्या काम करता है। दूसरा तरीका जो मेरे डीबीए ने सुझाया है वह कमांड लाइन का उपयोग करना है। कुछ इस तरह से, 130 के साथ हाइलाइट किया गया जो कि 2016 के लिए आपके लिए आवश्यक संस्करण है:

"C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\ISDeploymentWizard.exe" 
/Silent /ModelType:Project 
/SourcePath:"E:\ssis\Project Path\bin\Development\Project.ispac" 
/DestinationServer:"server01" 
/DestinationPath:"/SSISDB/Projects/Project"

मुझे उम्मीद है कि इससे स्पष्ट होने में मदद मिलेगी। मैंने आपका वर्कअराउंड खोजने से पहले लंबे समय तक और फिर अंत में इस समाधान को खोजने के लिए इस पर काम किया। तो धन्यवाद!


"एसएसएमएस 2017 के माध्यम से इसे साकार किए बिना तैनात करने" से आपका क्या मतलब है? मैं वीएस 2017 को तैनात करने के लिए उपयोग करता हूं .. और एक सेटिंग है जो आपको SQL सर्वर के उस संस्करण को परिभाषित करने की अनुमति देता है जिसे आप लक्षित कर रहे हैं। लेकिन मैंने पाया कि काम नहीं किया
Zach Smith

इसने मेरे लिए काम किया। SSDT से सीधे काम पर काम किया है, लेकिन हम दूर से ऐसा नहीं कर सकते हैं, SSMS 2017 के माध्यम से तैनात करने से काम नहीं चलेगा, और फिर 2016 ISDeploymentWizard.exe के माध्यम से कमांड लाइन विकल्प का उपयोग करके काम किया। धन्यवाद!
क्लिनमेई

0

दूसरों के लिए समान लाइनों के साथ, मैं मूल रूप से SQL2017 परिनियोजन विज़ार्ड का उपयोग करते हुए SQL2014 में तैनात किया गया था। इससे रनटाइम त्रुटि उत्पन्न हुई। जब मैंने SQL2014 परिनियोजन विज़ार्ड का उपयोग किया तो सब कुछ ठीक चला।


-1

मुझे लगा कि मैं इसे जोड़ दूंगा, क्योंकि मुझे वही त्रुटि मिल रही थी। मैं वीएस 2017 चला रहा हूं और 2016 एसक्यूएल सर्वर पर तैनाती कर रहा हूं। मैंने काफी लेख पढ़े, तब मुझे महसूस हुआ कि इसे ठीक करना मेरे लिए कितना आसान है। वीएस 2017 में बहुत पीछे संगतता है।

आपके लक्ष्य सर्वर के संस्करण से मिलान करने के लिए SSIS पैकेज के संस्करण को बदलने के इस लेख ने मुझे मेरे मामले में त्रुटि को हल करने में मदद की।


ध्यान दें कि ओपी ने कहा कि उसने अपने मामले में लक्ष्य सर्वर को बदलने की कोशिश की, लेकिन यह काम नहीं किया। बेशक (जैसा कि लेख में उल्लेख किया गया है), यदि उसने लक्ष्य संस्करण में उपलब्ध नहीं एक सुविधा का उपयोग किया था, तो उसके कारण चीजें काम नहीं करेंगी।
RDFozz

हां - बस लक्ष्य संस्करण बदलने से काम नहीं चला। हालांकि, लक्ष्य संस्करण को बदलना और फिर वीएस 2017 के माध्यम से स्थानीय रूप से तैनात करना काम किया - इसलिए मुझे वीएस 2017 में एक बग पर संदेह है (कम से कम जब मैंने सवाल पूछा) तो इस संबंध में कि तैनाती विज़ार्ड कैसे बनाया जाता है। (मैं मान रहा हूँ क्योंकि इस दृष्टिकोण ने काम किया है कि मैं असंगत सुविधाओं का उपयोग नहीं करता था)
Zach Smith
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.