第8页
第4排
在使用FME中的数据库时,有一些提示和技巧可以增强您的工作空间,同时提高性能并降低失败的可能性。本文是教程系列的一部分,探讨如何让数据库完成工作,并将涵盖与使用数据库与FME相关的常见缺陷。
在写入Oracle或PostgreSQL等数据库时,由于情况不同,FME可能不会自动匹配属性。例如,下图中是一个Postgis阅读器和一个Oracle编写器:Postgis小写属性没有连接到大写的Oracle属性。
右键单击两者之间的连接并选择“自动连接属性”。属性现在已连接。作为第二步,再次右键单击连接并选择“用attributeManager替换链接”。这将导入一个记录案例更改的属性管理器,并可用于在工作区中保留更改。
注意:Postgis和Oracle默认分别使用小写和大写。可以在Oracle编写器和Postgis编写器参数上禁用此默认值。
导入功能类型允许用户从现有数据集中引入属性和数据类型。这在写入数据库中的现有表时很有用,或者尝试将现有表的架构用作新表的模板时。如果自上次将功能类型添加到画布(即-列已添加或删除)后,要写入的表发生更改,也可以更新功能类型。
编写器和FeatureWriter能够导入功能类型。使用外键:编写数据库表显示了使用FeatureWriter导入功能类型的示例。
在使用sqlcreator或sqlexecutor读取表时,FME不会自动公开属性。如果您在数据检查器中检查输出并看到特性
在编写器上对导入功能类型使用此技巧,以确保属性及其类型正确匹配并写入输出数据集。
从数据库中读取时,索引非常有用。通过在表上创建索引,你将看到性能和阅读时间的提高。请参见:让数据库完成工作:阅读以获取使用索引进行阅读的示例。
相反,当写入带有索引的表时,由于重建了表上的索引,转换速度可能会变慢。如果可能的话,在写入数据库之前删除索引,并在加载数据后重新创建。这可以通过使用sqlExecutor删除索引来完成;编写数据的功能编写器;而且,用于重新创建索引的sqlExecutor。大多数数据库编写器还能够在编写之前或之后执行SQL语句,这些语句可以应用于属性或空间索引。
PostGIS和SQL Server都可以存储几何图形或地理图形。确保在使用这些格式时,空间列类型设置正确。几何用于平面坐标(如UTM),而地理用于椭球数据(如LAT/LONG)。存储在数据库中的内容与在功能类型上设置的内容不匹配可能会导致错误。
Oracle不要求设置几何或地理,但是,如果您正在写入现有的空间表,检查元数据中的srid和功能类型上的srid是否匹配。
_如果在Oracle或SQL Server中写入具有多个空间列的表,将导航器参数中的“处理多个空间列”设置为“是”。FME能够使用不同的SRID值或空间列类型(几何体、几何体、几何体、几何体、几何体、几何体、几何体、几何体、几何体、几何体、几何体、几何体、几何体等)编写不同的几何体(即点和多边形)。地理位置)到同一个表。有关详细信息,请参见写入包含多个几何图形列的数据库表。
?2019安全亚搏在线软件公司|法律