第8页
第4排
在这个例子中,这个SQL执行器Transformer将用于联接数据库表中与GML文件中的源功能相关的记录。我们有一个GML格式的消防大厅数据集,以及一个名为postaladdress的数据库表。两个数据集都有一个公共地址字段。
FME将用于在消防大厅读取,然后,通过使用sqlexecutor根据公用地址字段执行数据库联接,在postaladdress表中选择匹配的记录。
注意:虽然这个例子关注PostGIS格式,它还适用于其他关系数据库格式,如Oracle和SQL Server。
下载sqleexecutor-join-201.fmt是完整的工作区。如果您想自己创建工作区,请下载sourcegmldata.zip,然后按照下面的步骤创建它。
已完成的工作区
1.检查源数据
消防大厅GML
添加一个GML读卡器并将其设置为读取firehols.gml。使用数据检查器检查firehells.gml。使用“表视图”窗口查看文本记录。请注意,每个消防大厅设施都有一个地址字段。此字段将用于匹配PostalAddress表的邮寄地址字段。
Firehall.gml与数据检查器一起查看
邮政地址表
使用以下命令检查数据检查器中的源PostalAddress表
将数据集设置为后的欠参数嵌入连接参数以下内容:
主持人:postgis.train.亚搏在线safe.com网站
端口:5432
数据库:FMEData
用户名:fmedata
密码:fmedata
将表列表的架构设置为FMEData2015年,请然后选择表postaladdress。
这个邮政地址用于与消防大厅GML匹配的场地地址字段。
使用数据检查器查看PostalAddress表
2.第二步。设置SQLExecutor
SQLExecutor将用于匹配数据库中每个GML消防大厅设施的PostalAddress表中的地址记录。
以下内容SQL语句将用于将GML记录联接到数据库记录:
从fmedata2015中选择*。“postaladdress”其中“postaladdress”='@value(address)'
使用SQL编辑器工具最容易创建SQL语句。一定要包括引号字符关于最后的@value()部分!
使用attributes公开参数,使SQL连接添加的任何属性在工作台中可见。如果你愿意的话。
三。复制属性值
可以使用attributeManager转换器复制或重命名属性。例如,重命名姓名从消防大厅GML功能到所有者名称的属性。
第四章。在数据检查器中检查输出
SQLExecutor将生成数据检查器。
在数据检查器中查看的SQLExecutor联接的结果
5.编辑SQL语句
SQLExecutor已将SQL Select语句中的数据合并到FireHall功能中。您还可以使用SQL语句执行SQL联接。
FireHall数据缺少civicno属性。这在地址点表中。使用addressID将civicno属性连接到filehall记录中。您可以使用第二个sqlExecutor,或者使用SQL联接。比如:
选择一个*,b.来自FMEData2015的“civicno”,“PostalAddress”a,“fmedata2015”.“addresspoints”b,其中“a”.“postalAddress”='@value(address)'和a.“addressID”=b.“addressID”;
只要有可能,“让数据库做这项工作”!在单个SQL调用中尽可能多地执行操作。
?2019安全亚搏在线软件公司|法律