使用sql server从url解析xml文件

使用sql server从url解析xml文件,sql,sql-server,xml,parsing,Sql,Sql Server,Xml,Parsing,我是来自url的parsings XML文件,当我第一次解析它时,它会得到正确的响应,但当url XML文件中的内容发生更改时,sql server会解析旧的响应(例如,在第一次时某物=5 sql server解析5,然后在url中某物=6 sql server再次解析5)。 但我认为存在缓存问题,因为当我在IE历史记录中删除包含cookie等内容时,SQL server解析正确的响应。如何解决?我是这样分析的: Declare @Object as Int; Declare @Respons

我是来自url的parsings XML文件,当我第一次解析它时,它会得到正确的响应,但当url XML文件中的内容发生更改时,sql server会解析旧的响应(例如,在第一次时某物=5 sql server解析5,然后在url中某物=6 sql server再次解析5)。 但我认为存在缓存问题,因为当我在IE历史记录中删除包含cookie等内容时,SQL server解析正确的响应。如何解决?我是这样分析的:

Declare @Object as Int; 
Declare @ResponseText as Varchar(8000); 
Declare @Url as Varchar(MAX); 

    select @Url = 'http://myurl'

    Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT; 
    Exec sp_OAMethod @Object, 'open', NULL, 'get', @Url, 'false' 
    Exec sp_OAMethod @Object, 'send' 
    Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT      
    Exec sp_OADestroy @Object 

    --load into Xml 
    Declare @XmlResponse as xml; 
    select @XmlResponse = CAST(@ResponseText as xml)  
    select @XmlResponse.value('(//response/comment)[1]','varchar(50)')


编辑:每次我访问页面时,我都会解决、更改IE设置和删除临时internet失败的问题

您能控制来自另一端的内容吗?您可以将其设置为不缓存

e、 g.asp.net():

或经典asp():

如果您无法访问另一端,您可以做的一件事就是在请求中添加一个经常更改的额外参数,例如时间

select @Url = 'http://myurl?time='+CONVERT(NVARCHAR(30),GETDATE(),120)

这假定另一端的服务器忽略此额外参数。。他们经常这样做

你能控制来自另一端的内容吗?您可以将其设置为不缓存

e、 g.asp.net():

或经典asp():

如果您无法访问另一端,您可以做的一件事就是在请求中添加一个经常更改的额外参数,例如时间

select @Url = 'http://myurl?time='+CONVERT(NVARCHAR(30),GETDATE(),120)
这假定另一端的服务器忽略此额外参数。。他们经常这样做

select @Url = 'http://myurl?time='+CONVERT(NVARCHAR(30),GETDATE(),120)