एक स्क्रिप्ट घटक (एक डेटा प्रवाह कार्य के) में पैकेज चर तक पहुंचना एक स्क्रिप्ट टास्क में पैकेज चर तक पहुँचने के रूप में ही नहीं है। एक स्क्रिप्ट घटक के लिए, आपको पहले Script Transformation Editor खोलने की आवश्यकता है (घटक पर राइट-क्लिक करें और "संपादित करें ..." चुनें)। स्क्रिप्ट टैब के कस्टम प्रॉपर्टी सेक्शन में, आप उन गुणों को दर्ज (या चुन सकते हैं) जिन्हें आप स्क्रिप्ट में उपलब्ध करना चाहते हैं, या तो केवल पढ़ने के लिए या रीड-राइट आधार पर: फिर, स्क्रिप्ट के भीतर,
// Modify as necessary
public override void PreExecute()
{
base.PreExecute();
string thePath = Variables.FilePath;
// Do something ...
}
public override void PostExecute()
{
base.PostExecute();
string theNewValue = "";
// Do something to figure out the new value...
Variables.FilePath = theNewValue;
}
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
string thePath = Variables.FilePath;
// Do whatever needs doing here ...
}
एक महत्वपूर्ण चेतावनी: यदि आप लिखने एक पैकेज चर करने के लिए की जरूरत है, आप केवल विधि PostExecute() में ऐसा कर सकते हैं चर उपलब्ध चर के रूप में दृढ़ता से टाइप गुण आपत्ति हो जाएगा।
कोड स्निपेट के बारे में:
IDTSVariables100 varCollection = null;
this.VariableDispenser.LockForRead("User::FilePath");
string XlsFile;
XlsFile = varCollection["User::FilePath"].Value.ToString();
varCollection
शून्य पर आरंभ नहीं हो जाता और एक मान्य मान पर सेट कभी नहीं। इस प्रकार, कोई भी अपमान करने का प्रयास यह असफल हो जाएगा।
String MyVar = Dts.Variables["MyVarName"].Value.ToString();
स्रोत
2012-11-19 17:51:29
आप क्या त्रुटि या अप्रत्याशित व्यवहार कर रहे हैं? – billinkc