Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 向客户端公开SQL数据_Sql Server_Web Services_Sql Server 2008 R2 - Fatal编程技术网

Sql server 向客户端公开SQL数据

Sql server 向客户端公开SQL数据,sql-server,web-services,sql-server-2008-r2,Sql Server,Web Services,Sql Server 2008 R2,我们有一个内部SQL Server 2008R2 db,我们希望通过Internet向我们的客户机公开(部分-仅某些表),以便他们能够提供Excel报告。我们最好的选择是什么?我们应该如何提供安全性(即,我们应该为此在DMZ上创建另一个暂存DB服务器吗?)。就转移数量而言,它非常小(

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

如果他们需要实时访问,这里有一个简单的方法:

  • 创建用于web访问的自定义SQL用户帐户,并通过对相关表或存储过程的只读访问锁定
  • 使用上面的SQL帐户创建连接到数据库的REST web服务。公开可检索的每组数据的方法
  • 确保web服务通过SSL(HTTPS)运行,并且需要用户名/密码身份验证—例如,通过基本身份验证和每个客户端的自定义硬编码帐户
  • 然后,当客户机需要检索数据时,他们可以访问特定的URL并接收CSV格式的数据或任何方便其报告的数据。另外,如果您的客户机技术熟练并且可以编写VBA宏,则可以通过
    XMLHTTPObject
    轻松访问REST web服务



    如果数据不是实时需要的——例如,如果一天一次就足够了,您可能只需要生成.csv输出文件,并将其托管在客户端可以通过其web浏览器手动下载的地方。例如,在FTP站点或具有基本身份验证的简单IIS站点上运行。

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

    您可以创建表的CSV文件,这些文件可以导入excel供客户端使用。谢谢,我怀疑这将是一种方式(Web服务)。我更喜欢实时解决方案。唯一的小问题是我还没有编写任何web服务。哦,好吧,是时候点击谷歌了。如果你这里有我的创业资源,我会很感激的。一个问题:为什么休息而不是肥皂?(我隐约知道有两种类型的WSs)。根据您与客户的关系,即,如果客户高度信任并且与您有连接的特定组,您可以尝试远程访问只读数据库。这取决于您希望为远程用户提供的表面积级别。如果是我,我会觉得使用web服务更舒服,因为我可以控制他们看到的记录以及它实际连接到的后端数据库等等@Lukasz:我推荐REST只是因为它可能更容易与MS Excel集成。谢谢大家。休息吧。