我正在尝试编写一个连接到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
非常感谢。
答案 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
很明显,这是一个客户端代理黑客。
还没有在服务器上尝试过。