2013-06-04 6 views
5

मैं dtexec.exe के साथ कमांड लाइन पर एक एसएसआईएस पैकेज निष्पादित कर रहा हूं। पैकेज त्रुटियों को दिखाने के लिए MessageBox.Show() और MsgBox() (क्रमशः सी # और वीबीएनईटी) कहते हैं। बक्से स्वचालित नौकरी प्रोसेसर को लटक रहे हैं क्योंकि यह बॉक्स को बंद करने की प्रतीक्षा कर रहा है।मैं एक एसएसआईएस पैकेज के अंदर से इंटरैक्टिव संदेश बॉक्स कैसे अक्षम कर सकता हूं?

मैं the impression के तहत था कि इंटरैक्टिव मोड में नहीं होने पर बक्से छुपाए जाने चाहिए। एसएसआईएस पैकेज को संशोधित किए बिना संदेश बॉक्स को दबाया जा सकता है? पैकेज एक सॉफ्टवेयर विक्रेता से है और मुझे वास्तव में इसे बदलना नहीं चाहिए।

संपादित करें: संदेश बॉक्स कोड का उदाहरण: पूर्ण आदेश मैं उपयोग कर रहा हूँ

C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe /F D:\Path\To\Package.dtsx /Conn DBConnection;"Provider=SQLOLEDB;Data Source=SERVER;Initial Catalog=DB;Integrated Security=SSPI;Connect Timeout=60" \Package.Variables[User::InputFileName].Properties[Value];C:\Path\To\Input.csv 

EDIT2 (विवरण के दूर करने के लिए संपादित)। यह एक स्क्रिप्ट कार्य में है।

Public Sub Main() 
    MsgBox("Failed to read/parse input file or generic database failure while running " + Dts.Variables("System::PackageName").Value.ToString() + ". Please check the layout of the feed and database connectivity.") 
    Dts.TaskResult = ScriptResults.Failure 
End Sub 

EDIT3: अगर भविष्य में किसी को भी InteractiveMode के लिए परीक्षण करने के लिए कोड में रुचि रखता है। इसे स्क्रिप्ट कार्य के ReadOnlyVariables के माध्यम से भी पारित किया जाना चाहिए। मैंने पैकेज को संशोधित करना समाप्त कर दिया क्योंकि अन्य मुद्दे थे।

VB.NET 
If CBool(Dts.Variables("System::InteractiveMode").Value) = True Then 
    .... 
End if 

C# 
if ((bool)Dts.Variables["System::InteractiveMode"].Value == true) 
    .... 
} 
+0

यह सुनिश्चित नहीं है कि आपके पास डाउनवोट और वीटीसी क्यों है। साइट के लिए एक उचित सवाल लगता है। वीबी/सी # स्क्रिप्ट कैसा दिखता है? क्या यह एसएसआईएस वैरिएबल इंटरएक्टिव मोड की स्थिति का निरीक्षण कर रहा है? – billinkc

+0

नहीं, यह इंटरएक्टिव मोड वैरिएबल को नहीं देख रहा है। यह एक विक्रेता से है इसलिए परिवर्तन करना दुख की बात नहीं है। मैंने अपना प्रश्न संपादित किया और संदेश बॉक्स कॉल का एक उदाहरण दिया। – merekel

+0

मुझे नहीं लगता कि आप संदेश बॉक्स फ़ंक्शन पर पैकेज निष्पादन को जोड़ सकते हैं। आईएमओ, आपको बॉक्स को पॉप अप करने से रोकने के लिए स्क्रिप्ट कार्य को संशोधित करने की आवश्यकता होगी। बीटीडब्ल्यू, मैंने इसे कानूनी बनाने के लिए सवाल उठाया क्योंकि मुझे लगता है कि सवाल कानूनी है। – rvphx

उत्तर

0

यदि भविष्य में कोई भी व्यक्ति इंटरएक्टिव मोड के लिए परीक्षण करने के लिए कोड में रूचि रखता है। इसे स्क्रिप्ट कार्य के ReadOnlyVariables के माध्यम से भी पारित किया जाना चाहिए। मैंने पैकेज को संशोधित करना समाप्त कर दिया क्योंकि अन्य मुद्दे थे।

VB.NET 
If CBool(Dts.Variables("System::InteractiveMode").Value) = True Then 
    .... 
End if 

C# 
if ((bool)Dts.Variables["System::InteractiveMode"].Value == true) 
    .... 
} 
संबंधित मुद्दे