【发布时间】:2013-02-06 16:13:58
【问题描述】:
我需要开发一个 Web 服务以使某些文件在外部网站上可用。这些文件在文件服务器上保存和更新,它们的 UNC 路径在数据库中。 Web 服务将托管在我们 DMZ 中的服务器上,并且可以访问数据库但不能访问文件共享。
我看到的选项是:
- 将文档上传到 Web 服务器。如果没有 LAN 访问,这很困难。
- 编写一个附加过程将文件上传到数据库并从那里提供它们。这会导致到处都做额外的工作,但可能是可以接受的。
- 为存储过程找到某种方法,以从网络共享读取文件并将它们返回到可供 Web 服务使用的结果集中。
有谁知道我该如何处理选项 3?我怀疑我需要将它上传到一个 blob 中并在 Web 服务中读取它,但是否可以仅使用 SQL 将文件加载到一个 blob 中?
更新: 我找到了this 并复制了 ufsReadfileAsString 函数。我不断收到“打开文件时出错”错误,我认为这可能与用户权限有关。
【问题讨论】:
-
您要阅读哪种文件?如果您的文件存在 OLEDb 提供程序,您可以使用 Linked Servers 和 OPENROWSET 执行选项 3。
-
这是一个二进制文件,所以没有行集。
标签: sql sql-server tsql blob