我有一个 SQL 2000 DTS 包,它计划从 SQL 2005 SQL 代理作业运行。在此 DTS 中有一个 ActiveX 步骤,它具有以下 VBScript 来调用 Web 服务。
Dim http: set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.setProxy 2, "http://123.45.67.89:8080"
http.open "GET", "http://mywebservices.com/MyWebMethod?Param1=value1", false
http.setProxyCredentials "SQLServiceAccount", ""
http.send
手动运行此 DTS 时,我可以看到它运行良好并且能够调用 Web 服务。但是,当从 SQL 作业运行时,它不会调用 Web 服务。这甚至不会引发错误,但我可以从我们的日志中看出没有调用 webserivce。我尝试在以 SQLServiceAccount 身份登录时手动运行 DTS,效果很好。SQL 作业所有者是“sa”
任何人都知道为什么这在从 SQL 作业运行时不起作用但在 DTS 中手动运行时工作正常?