斯潘8
span4
正如谷歌在12月11日宣布的,2018, Google Fusion Tables和Fusion Tables API 将于12月3日关闭,2019.一些用户可能在2019年8月开始看到错误。关闭服务后,融合表支持将从FME中删除。对于使用FME从谷歌融合表迁移数据的方法,参见博文 7+Google Fusion Tables备选方案。
FME服务器可以利用外部数据库触发器实时响应数据库事件。这允许您使用FME服务器将数据实时地从数据库推送到应用程序中。在这篇文章中,我们将向您展示如何设置SQL Server和FME Server来响应单个功能数据库的编辑。如果正在进行大量编辑,批量模式也可以设置为一次调用就可以输出大量数据,这是在下面的文章中描述的:批量编辑SQL Server:将数据从数据库实时推送到应用程序
注意:创建此示例是为了演示FME服务器和SQL Server之间的不同交互可能性。本文包含几个必须为特定环境定制的代码片段。
本教程使用FME Desktop和FME Server 2017.0以及SQL Server 2016进行了测试。
在本例中,我们使用一个简单的web接口调用FME Server来在SQL Server数据库中上传数据和日志更新。当用户从web界面运行演示程序时,事件的顺序如下:
这个例子展示了如何设置SQL Server触发器,这些触发器可以使用HTTP请求调用FME服务器上的工作区。只有在预期不会同时修改很多行的情况下,才应该使用此方法;对于大量并发修改,大容量模式触发器示例可能更合适。我们建议您仔细阅读这些脚本,以确保您已根据数据库环境对它们进行了完全的定制。
我们需要在数据库中创建一个新表,并为insert设置触发器,更新,并删除所有行。我们还需要向数据库中添加一个允许使用HTTP访问您的FME服务器的过程。这可以通过运行create_table_and_triggers.sql来完成。如注释和下图所示,需要对SQL脚本进行一些修改。
这个演示包括一个模板和一个工作区:sqlserver_single_loader.fmwt和sqlserver_single_logger.fmw,包含在上面附带的zip文件中。
打开sqlserver_single_loader.fmwt工作区。
编辑SQL Server编写器以匹配您自己的数据库凭据。
将工作区发布到FME服务器,在一个名为触发器的新存储库中。
下一步,打开sqlserver_single_logger.fmw工作区。
打开Google Fusion表编写器。
单击省略号(…)作为“刷新令牌”参数。
您将被要求登录您的Gmail帐户,并允许FME管理您的融合表。单击“允许”以创建融合表OAuth刷新键。
将工作区发布到触发器存储库中的FME服务器。
确保“fmeguest”角色对触发器存储库具有读取和运行权限。这可以通过以管理员用户的身份登录到FME服务器并在admin下单击左侧侧边栏的Security来设置,点击角色,并选择fmeguest。根据权限,展开“存储库”部分,对于触发器存储库,选择“读取并运行”(如果尚未选择它们)。
从FME服务器或FME桌面运行一次sqlserver_single_logger工作区,以创建Google Fusion表(查看该表,登录到指定的gmail帐户,该表应显示在“驱动器”选项卡下)记录下表的URL,以便进行下一步。
将zip文件中包含的“web”文件夹的全部内容复制到web服务器。然后编辑index.html文件的内容,以包括FME服务器的名称和谷歌融合表的URL。
完成后,在web浏览器中打开index.html并运行其中一个选项,这应该修改SQL Server数据库中的数据,触发将信息写入谷歌融合表。您可以单击web页面上的链接来打开该表。
©2019安全亚搏在线软件公司|法律