将SQL数据公开给客户端

时间:2013-04-16 19:21:53

标签: sql-server web-services sql-server-2008-r2

我们有一个内部SQL Server 2008R2数据库,我们希望通过Internet向我们的客户公开(部分 - 仅部分表),以便他们可以提供他们的Excel报告。我们最好的选择是什么?我们应该如何提供安全性(即我们是否应该在DMZ上为此创建另一个分段数据库服务器?)。就转移数量而言,它非常小(<100 recs)。

2 个答案:

答案 0 :(得分:2)

如果需要实时实时访问,这将是一个简单的开始方式:

  1. 为Web访问创建自定义SQL用户帐户,使用对相关表或存储过程的只读访问权限进行锁定。
  2. 使用上面的SQL帐户创建连接到数据库的REST Web服务。为可以检索的每组数据公开方法。
  3. 确保Web服务通过SSL(HTTPS)运行并需要用户名/密码身份验证 - 例如,通过BASIC身份验证,每个客户端使用自定义硬编码帐户。
  4. 然后,当客户需要检索数据时,他们可以访问特定的URL并以CSV格式或任何方便报告的方式接收数据。此外,如果您拥有技术精湛且可以编写VBA宏的客户端,则可以通过XMLHTTPObject轻松访问REST Web服务。


    如果实时不需要数据 - 例如,如果每天一次就足够了,您可能只需生成.csv输出文件并将其托管在客户可以通过其Web浏览器手动下载的某个位置。例如,托管在FTP站点或具有BASIC身份验证的简单IIS网站上。

答案 1 :(得分:0)

如果实时不需要数据,另一种方法是使用SSIS或SSRS导出excel文件,并通过电子邮件发送给您的客户。