我想检查sql server中的在线服务器中是否存在文件。 我有这个代码
exec master.dbo.xp_fileexist 'http://filepath'.
此函数返回FileExists Column
的值零。我认为此功能仅适用于在本地系统中搜索文件。如果是这样,我如何从sql server检查在线服务器中存在的文件。
答案 0 :(得分:1)
您可以在较新版本的SQL Server中使用FileStream功能。
我发现这个链接最具信息性:http://www.codeproject.com/Articles/128657/How-Do-I-Use-SQL-File-Stream
答案 1 :(得分:1)
这听起来像一个可怕的想法,你不应该浪费调度程序等待http响应。它会破坏你系统的性能。 话虽这么说,如果你没有其他选择,并且你非常小心你在做什么以及何时做这样的事情,实际上可以使用ole自动化。
首先,您需要使用
启用ole自动化sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
然后你可以使用xmlhttp来获取网址
的内容
sp_OACreate 'MSXML2.XMLHttp', @Obj OUT
将创建一个msxml2.xmlhttp对象
然后,您可以调用该对象中定义的所有方法,例如
sp_OAMethod @Obj, 'open', NULL, 'GET', 'http://myurl', false
您必须阅读该对象并暂时使用它,但它肯定是可能的