span8
span4
在这个例子中,SqlExecutor执行器transformer将用于连接来自数据库表的记录,这些记录与来自GML文件的源特性相关。我们有一个GML格式的火场数据集和一个名为PostalAddress的数据库表。两个数据集都有一个公共地址字段。
FME将用于在Fire hall中读取数据,然后使用SQLExecutor根据公共地址字段进行数据库连接,从而在PostalAddress表中选择匹配的记录。
注意:尽管本例主要关注postgis格式,但它也适用于其他关系数据库格式,如oracle和sql server。
下载sqlexecutor -连接- 201。fmwt是完整的工作空间。如果您想自己创建工作空间,请下载sourcegmldata。zip,然后按照下面的步骤创建它。
已完成的工作区
1.检查源数据
消防厅GML
添加一个GML读取器并将其设置为读取FireHalls.gml。使用数据检查器检查防火墙。gml。使用“表视图”窗口查看文本记录。请注意,每个消防大厅设施都有一个地址字段。此字段将用于与PostalAddress表匹配邮寄地址字段。
使用数据检查器查看firehall.gml
包衣后桌子
在Data Inspector中使用foll检查源PostalAddress表
将数据集设置为后设置参数嵌入连接参数:
主持人:postgis.train.亚搏在线safe.com网站
端口:5432
数据库:fmedata
用户名:fmedata
密码:fmedata
将表列表的模式设置为FMEData2015年,然后选择PostalAddress表。
的包衣后该字段将用于匹配的消防大厅的GML的地址字段。
使用数据检查器查看装填后的表格
2.设置sqlexecutor
SQLExecutor将用于匹配数据库中每个GML Fire Hall设施的PostalAddress表中的地址记录。
以下SQL语句将GML记录加入数据库记录:
从fmedata2015中选择*。"PostalAddress" where "PostalAddress" ='@Value(Address)'
使用SQL编辑器工具最容易创建SQL语句。一定要包括引用字符围绕最后的@Value()部分!
如果需要,可以使用Atributes来公开参数,使SQL join添加的任何属性在workbench中可见。
三。复制属性值
可以使用AttributeManager转换器复制或重命名属性。例如,重命名姓名属性从Fire Halls GML特性到OwnerName。
四。在数据检查器中检查输出
SQLExecutor产生数据检查器。
在数据检查器中查看的sqlexecutor联接的结果
5个。编辑SQL语句
SQLExecutor已经将来自SQL SELECT语句的数据合并到Firehall特性中。您还可以使用SQL语句进行SQL连接。
Firehall数据缺少CivicNo属性。这在AddressPoints表中。使用addressID将civicno属性连接到filehall记录。您可以使用第二个sqlexecutor,也可以使用sql连接。类似于:
从fmedata2015中选择a.*b.“civicno”。“postaladdress”a,“fmedata2015”。“addresspoints”b其中“a”。“postaladdress”='@value(address)”,以及“addressid”=b.“addressid”;
尽可能“让数据库做工作”!在单个sql调用中尽可能多地执行操作。
©2019安全亚搏在线软件公司法律