有人帮我吗?
我在我的包中运行一个Script Taks,用于使用FtpClientConnection发送和接收文件,并进行一些测试,我正在模拟可能失败的情况。
编辑:
当我在调试模式下运行脚本任务时,我会收到以下错误消息:"{"Exceção de HRESULT:0xC001602A"}"和此错误代码:-1073651670。
正在上查找此错误代码http://technet.microsoft.com/pt-br/library/ms345164.aspx我发现"请求的FTP操作中出现错误。详细的错误描述:%1。"
当我的脚本任务抛出错误时,我会收到一条不同的消息:"脚本返回了一个失败结果"。
但在我的包错误中,我的脚本任务中给出了相同的消息:"错误:请求的FTP操作中发生错误。详细的错误描述:服务器名称或地址无法解决。"
如何转换我的包给出的消息中的错误"Exceção de HRESULT:0xC001602A"?
清楚吗?
提前感谢。。。
我在互联网上找到了这段代码,但我不知道为什么当我在调试模式下运行它时,我会收到以下消息:"Exceção de HRESULT:0xC001602A"在SQL作业中,我会得到以下消息:"请求的FTP操作中发生错误。详细的错误描述:不允许使用密码。"
SSIS有点疯狂,但它正在发挥作用。。。
谢谢。。。
catch (COMException ex)
{
string symbolicName = GetSymbolicName(ex.ErrorCode);
Console.WriteLine("Symbolic Name: {0}", symbolicName);
}
public static string GetSymbolicName(int errorCode)
{
string symbolicName = string.Empty;
HResults hresults = new HResults();
foreach (FieldInfo fieldInfo in hresults.GetType().GetFields())
{
if ((int)fieldInfo.GetValue(hresults) == errorCode)
{
symbolicName = fieldInfo.Name;
break;
}
}
return symbolicName;
}
http://blogs.msdn.com/b/mattm/archive/2009/08/03/looking-up-ssis-hresult-comexception-errorcode.aspx
由于这对我有帮助,我想用VB.Net版本的上述C#:)
Catch ComEx as COMException
Console.WriteLine("Symbolic Name: {0}", GetSymbolicName(ComEx.ErrorCode))
End Try
Public Shared Function GetSymbolicName(ByVal errorCode As Long) As String
Dim symbolicName As String = String.Empty
Dim hresults As HResults = New HResults
Dim thisError As Integer = Int32.Parse(errorCode.ToString)
For Each fieldInfo As FieldInfo In hresults.GetType().GetFields()
If Int32.Parse(fieldInfo.GetValue(hresults).ToString) = thisError Then
symbolicName = fieldInfo.Name
Exit For
End If
Next
Return symbolicName
End Function
只是一个警告,我实际上在两行中(根据C#)调用了函数,但我想不出有什么理由不在一行中调用Console.Writeline函数。