通过SSIS中的vb.net脚本中的代理连接到网站

时间:2011-07-06 13:17:08

标签: xml vb.net sql-server-2005 ssis

我正在尝试编写一个连接到XML Feed的SSIS包,以下载FX费率并将其导入SQL表。

我有下面的代码,但无法弄清楚如何通过代理实现登录。

如果有人能想到更简单的方法来做到这一点,我非常愿意尝试一下。

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.Xml
Imports System.Net



Public Class ScriptMain

Public Sub Main()


    Dim xmlDoc As XmlDataDocument, strXML As String
    Dim client As System.Net.WebClient = New System.Net.WebClient()

    Dim cr As New System.Net.NetworkCredential("user", "password")
    Dim pr As New System.Net.WebProxy("proxy", 8080)

    pr.Credentials = cr
    client.Proxy = pr

    xmlDoc = New XmlDataDocument
    xmlDoc.Load("http://themoneyconverter.com/GBP/rss.xml")
    strXML = CType(xmlDoc.InnerXml, String)
    Dts.Variables("strXMLData").Value = strXML
    Dts.TaskResult = Dts.Results.Success
End Sub

End Class

非常感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用当前登录的凭据:

Imports System.Net

Dim Pr As New System.Net.WebProxy(Proxy, Port)
Pr.Credentials = System.Net.CredentialCache.DefaultCredentials
WebRequest.DefaultWebProxy = Pr

'WebRequest.DefaultWebProxy是xml.Load()使用的代理设置

答案 1 :(得分:0)

在SSIS 2012中完美运行-谢谢

除了声明中的Imports System.Net,我的最终代码如下:

 Dim Proxy As String, Port As Integer

 Proxy = "EnterYourProxyServerName"  
 Port = TypeInYourProxyPortAsANumber

 Dim Pr As New System.Net.WebProxy(Proxy, Port)  
 Pr.Credentials = System.Net.CredentialCache.DefaultCredentials
 WebRequest.DefaultWebProxy = Pr  
 Dts.TaskResult = ScriptResults.Success

很明显,这是一个客户端代理黑客。

还没有在服务器上尝试过。