西班牙
斯潘4
在本例中,SQLExecutortransformer将用于联接数据库表中与gml文件中的源特性相关的记录。我们有一个GML格式的消防大厅数据集和一个名为postaladress的数据库表。两个数据集都有一个公共地址字段。
fme将用于在消防大厅中读取,然后使用sqlexecutor根据common address字段执行数据库连接,在postaladdress表中选择匹配的记录。
注意:虽然本例主要关注PostGIS格式,但它也适用于其他关系数据库格式,如Oracle和SQL Server。
下载sqlexecutor-join-201.fmwt是完整的工作区。如果您想自己创建工作区,请下载sourcegmldata.zip,并按照以下步骤创建它。
完成的工作空间
1.检查源数据
FireHalls GML
添加一个gml阅读器并将其设置为读取fireholls.gml。使用数据检查器检查fireholls.gml。使用“表视图”窗口查看文本记录。注意,每个消防厅设施都有地址字段。此字段将用于匹配邮件处理表的PostAddress字段。
FireHall。gml viewed with Data Inspector
PostalAddress表格
在数据检查器中使用以下命令检查源postaladdress表
将数据集设置为嵌入连接参数以下内容:
主持人:postgis.train.亚搏在线safe.com
端口:5432
数据库:fmedata
用户名:fmedata
密码:fmedata
将表列表的架构设置为fmedata2015,然后选择桌子上的便装。
这个PostalAddress用于与消防大厅GML匹配的区域地址字段。
使用数据检查器查看PostalAddress表
2.设置SQLExecutor
sqlexecutor将用于匹配数据库中每个gml消防大厅设施的postaladdress表中的地址记录。
以下SQL语句将用于将GML记录连接到数据库记录:
从fmedata2015中选择*“postaladress”,其中“postaladress”='@value(address)'
使用sql编辑器工具最容易创建sql语句。一定要包括引用字符在最后的@value()部分!
如果需要,可以使用attibutes来公开参数,使由sql join添加的任何属性在workbench中可见。
3.复制属性值
attributeManager转换器可用于复制或重命名属性。例如,重命名的名字从消防厅的属性gml功能到ownername。
4.在数据检查器中检查输出
sqlexecutor生成数据检查器。
在数据检查器中查看SQLExecutor连接的结果
5.编辑SQL语句
sqlexecutor已将sql select语句中的数据合并到firehall特性中。您还可以使用sql语句进行sql连接。
Firehall数据缺少civicno属性。这在addresspoints表中。使用AddressID将CivicNo属性连接到Filehall记录。您可以使用第二个SQLExecutor,或者使用SQL联接。喜欢的东西:
选择一个。*,b。"CivicNo" FROM fmedata2015."PostalAddress" a, "fmedata2015"."AddressPoints" b WHERE "a"."PostalAddress" = '@Value(Address)' AND a."AddressId" = b."AddressId";
只要有可能,“让数据库来做”!在一个SQL调用中完成尽可能多的工作。
?2019安全亚搏在线软件公司|合法的