《FME更新数据库流程(3页).doc》由会员分享,可在线阅读,更多相关《FME更新数据库流程(3页).doc(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-FME更新数据库流程-第 3 页一 总体流程利用FME进行数据入库,很多时候能做到事半功倍的效果。在进行数据迁移之前,一定要充分熟悉原生产机和目的服务器数据库上的表的结构,通过新旧系统对比,找到数据变化的入口。另此处的示例中用到的版本是FME2014. FME入库流程图:了解原生产机数据库数据中表的结构检 查 无 误 后 数 据 方 可 入 库了解目的服务器数据库中表的数据结构客户、研发人员、数据人员共同讨论迁移需求是否更改 是 否数据人员编写FME工程入库前检查 否 是 数据入库二 从GDB迁移到SDE(1)添加读数据,读入你要加载的GDB数据类型,如下图:(2)选择你需要更新的文件,在方
2、框前面打勾:(3)添加写数据:(5)设置要连接的服务器参数,点击上图中的Parameters,设置如下:(6)生成文件设置(7)点击上图中的Format Parameters对转换属性进行设置:(8)连接好点击即可,转换后显示转换成功字样算成功转换,如下图:三 从SDE迁移到SDE从SDE转到SDE与从GDB转到SDE的方法类似,主要是数据源类型及目标数据源类型均选择SDE,如下图所示:四 入库常用到的转换器(1)AttributeCreator:修改原有字段的属性值,可设为常量,同时能增加新的字段并设定其值,如JASSTATUS。属性变化如下:(2)AttributeFilter,属性过滤:
3、根据属性值把要素输出到不同的端口。如把字段NAME属性值为阿城区和爱辉区的属性过滤出来,如下图:(3)AttributeSplitter分割字符串。例如将字段NAME属性里面包含符号*的文字进行分割。(4)AttributeCopier复制一个属性为一个新属性。如将字段为NAME的属性复制到字段为NAME1字段里面。(5)ListRangeExtractor获取列表中的最小、最大值。如下图,获取列表中的最大值和最小值。(6)VertexCreator:将坐标附加到nell、点、文本、线和狐段几何图形上,或用点对象替换已有几何对象。我们用到最多的是用点对象替换已有几何对象。如下图设置:(7)Po
4、intConnector:按照输入点要素的顺序进行连接,以构建线或者面要素。(8)UUIDGenerator:为每个进入的要素计算通用唯一标示符(UUID),将其作为新的属性添加。这个在做一些关联数据的时候会经常用到。一个UUID的例子:6a6bfc86-2a52-4c92-99ee-694183012a16(9)DateFormatter:重新格式化并且替换日期或者时间字符串到新的日期格式,字符串来源可以是几乎任何日期和/或时间格式。五 入库中可能遇到的问题(1)非空字段有空的迁不进去。新表中不能为空的数据,在原表中有空数据存在。这种情况直接迁移的话就会报“索引超出范围”。修改方法:1)先找
5、出新数据库对应表中不能为空的字段,如下图: 2)检查原生产机上对应表的OBJECTID,eventid内容是否有空值。如果有空值,需要与客户及研发人员沟通,具体情况具体处理。(2)数据有关联的没有迁移成功。比如生产机上cpteststation表中的eventid内容里带很多空格,有些表与他的eventid字段关联,但是迁移过去的时候空格去掉了,这个时候两张表就关联不上了。修改方法:1)确定eventid有空格: 无空格状态:有空格状态:2) 在数据库里输入SQL语句进行空格清除: update cpteststation t set t.eventid=tirm(t.eventid)(3)FME版本设置不对。在新系统里有些表是需要注册版本的,如果在catalog里显示已经注册过了,就选择versioning项。如果是未注册的就选择transactions,如下图所示:Register with Geodatabase如果是灰色的,就表示已经注册过了。如果是黑色的就表示未注册,下图就是已经注册版本的情况
限制150内