2016-05-13 43 views
0

我有几个基于Excel宏的程序,这些程序是为客户端开发的,我使用Access作为后端数据库,但由于多种原因想要移至Azure SQL服务器。我已经安装了Azure SQL服务器并连接了Excel,但是由于Azure要求将每个IP地址添加到防火墙,因此如果用户想要从办公室外部访问它,则无法工作。在Excel和Azure之间创建REST Web服务SQL

经过数小时的研究,它看起来像最好的选择(除了运行Azure SQL虚拟机)是在两个对象之间创建一个WCF或REST Web服务,但是我对此并不太熟悉,需要一点点帮帮我。所以这里有几个问题:

1)我在想这个方法吗?

2)这也可以托管在Azure上吗?

3)我该如何去做这件事?甚至指着我在正确的方向将是有帮助的

4)有了一些HTML/CSS和Python的经验,以及大量的VBA和R的经验,这将是多么艰难的拉?

回答

1

是的。让您的客户或客户直接访问数据库并不是最佳实践。像REST服务这样的经纪商就是这样做的方式,是的。

最简单的方法是使用Azure移动应用程序,因为它具有这种代理的方式,该代理将自动创建并设置为访问SQL Azure中的数据库。在我的SO回答here中使用移动应用程序时,您可能会看到工作流程的描述。基本上是:

1)您在Azure上的仪表板

2)创建到SQL Azure的数据连接创建移动应用

3)你在为移动应用

4创造轻松表)现在,你有像GET/POST/etc这样的简单API,并且每个操作都连接到SQL Azure中的表。例如,GET可用于检索数据,插入POST等。

了解移动应用程序的最佳方法是使用官方documentation集线器。

关于“有多困难” - 对于您的场景,应该非常容易,因为大多数操作都是在门户上执行的,对于客户端,您需要提供将调用REST操作并显示结果的应用程序。所有这些步骤都在上面的链接中描述,并且,因为它是REST API,您可以在任何具有相应功能的地方使用它,包括Python。

+0

感谢您的回复,我会查看您发布的链接。 – pheeper

+0

我能够快速创建如上所述的移动应用程序,但是我正在旋转我的轮子以了解如何使用Excel VBA进行连接。任何建议或链接可能有助于澄清这一点? – pheeper

+0

也许有帮助http://stackoverflow.com/questions/19553476/how-to-make-rest-call-with-vba-in-excel?没有用VBA做到这一点。 –