nuget इंस्टॉलर का उपयोग कर WinSCP .NET स्थापित किया गया है।एसएसआईएस पैकेज के साथ Winscp System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (ऑब्जेक्ट obj, ऑब्जेक्ट [] पैरामीटर, ऑब्जेक्ट [] तर्क)
विजुअल स्टूडियो 2013
लघु उद्योगों BIDS 2012
परियोजना संदर्भ सही हैं - DLL स्थापित किया गया था कि
परियोजना एक स्क्रिप्ट WinSCP से नमूना कोड का एक नीचे छीन संस्करण है जिसमें की ओर इशारा करते साइट। पहली पंक्ति पर विफल रहता है जो सत्र ऑप्शन ऑब्जेक्ट को तुरंत चालू करने का प्रयास करता है। यदि मैं सत्र ऑप्शन ऑब्जेक्ट को हटा देता हूं तो यह ठीक है।
पंजीकृत निर्देशों के अनुसार जीएसी में winscpnet.dll पंजीकृत।
दृश्य स्टूडियो SSIS डीबगर में शुरू स्क्रिप्ट, इस मिल:
lags प्रवाह और प्रक्रिया केSystem.RuntimeMethodHandle.InvokeMethod पर (वस्तु लक्ष्य, वस्तु [] तर्क, हस्ताक्षर sig, बूलियन निर्माता) System.Reflection.RuntimeMethodInfo पर .UnsafeInvokeInternal (वस्तु obj, वस्तु [] पैरामीटर, वस्तु [] तर्क) System.Reflection.RuntimeMethodInfo.Invoke पर सिस्टम पर
(वस्तु obj, BindingFlags invokeAttr, बाइंडर बांधने की मशीन, [] पैरामीटर, CultureInfo संस्कृति वस्तु)। RuntimeType.InvokeMember (स्ट्रिंग नाम, बाइंडिंगएफ BindingFlags, बाइंडर बांधने की मशीन, वस्तु लक्ष्य, वस्तु [] providedArgs, ParameterModifier [] संशोधक, CultureInfo संस्कृति, String [] Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() पर namedParams)
public void Main()
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
// To setup these variables, go to SSIS > Variables.
// To make them accessible from the script task, in the context menu of the task,
// choose Edit. On the Script task editor on Script page, select ReadOnlyVariables,
// and tick the below properties.
HostName = "",
UserName = "",
Password = "",
SshHostKeyFingerprint = ""
};
bool fireAgain = false;
Dts.Events.FireInformation(0, null,
string.Format("Upload of succeeded"),
null, 0, ref fireAgain);
Dts.TaskResult = (int)DTSExecResult.Success;
}
जोड़ना screencaps
अद्यतन: कोड के रूप में निम्नानुसार ... ठीक उसी परिणाम संशोधित
public void Main()
{
bool fireAgain = false;
try
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
// To setup these variables, go to SSIS > Variables.
// To make them accessible from the script task, in the context menu of the task,
// choose Edit. On the Script task editor on Script page, select ReadOnlyVariables,
// and tick the below properties.
HostName = "",
UserName = "",
Password = "",
SshHostKeyFingerprint = ""
};
}
catch (Exception ex)
{
Dts.Events.FireInformation(0, null,
ex.InnerException.Message,
null, 0, ref fireAgain);
}
Dts.TaskResult = (int)DTSExecResult.Success;
}
मुझे लगता है कि अपवाद में कुछ टेक्स्ट/संदेश और प्रकार है। आपने हमारे साथ केवल एक कॉलस्टैक साझा किया है। –
एसएसआईएस एक संदेश बॉक्स "डीटीएस स्क्रिप्ट कार्य: रनटाइम त्रुटि" प्रोजेक्ट का नाम पॉप करता है: ब्लाह "अपवाद के लक्ष्य से अपवाद फेंक दिया गया है", कॉल स्टैक नीचे दिए गए टेक्स्ट एरिया में है - सुंदर मानक सामान और अन्य SO के साथ संगत पोस्ट (और अन्य जगहों पर पोस्ट) जो एसएसआईएस –
के तहत विनसिप का उपयोग करने के साथ मुद्दों को नोट करते हैं, "अपवाद के लक्ष्य से अपवाद को फेंक दिया गया है" के बारे में सभी पदों में मैं वास्तविक अपवाद के बारे में जानकारी देख सकता हूं। –