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