ArcSDE归档记录迁移

SDE数据库提供了地理数据库级别的归档功能。通过该功能可以记录和访问数据库随时间推移而发生的更改。只有企业级地理数据库支持归档,文件地理数据库和个人地理数据库是不支持存档。版本化数据和非版本化数据均可启用归档功能。

下文将讲述当需要进行数据库表或要素类进行迁移时,对于已经启动了归档类的表或要素类其迁移相关联的归档记录的操作步骤。

非版本化数据

非版本化数据的归档记录被记录在原来要素图层中。其原理是通过添加的以下三个字段来管理归档记录。

字段

 

gdb_from_date

代表要素或行创建的时间

gdb_to_date

代表要素或行结束的时间

gdb_archive_oid

代表归档类的ObjectID

 

版本化数据

版本化数据的归档记录被记录在要素图层关联的归档表中,该表名称为原来要素图层名称后加“_H“后缀。该表除了包含原表字段定义,还添加了以下三个字段来管理归档记录。

字段

 

gdb_from_date

代表要素或行创建的时间

gdb_to_date

代表要素或行结束的时间

gdb_archive_oid

代表归档类的ObjectID

 

现状视图

对于启用了归档功能后的要素图层,系统还会在数据库中新建一个视图,视图名称为原来要素图层名称后加“_evw“后缀。对于非版本化的要素图层,该视图通过选择原要素图层中gdb_to_date = '9999-12-31 23:59:59' 的记录来显示要素图层的现状。对于版本化的要素图层,该视图通过综合查询基础表、D表和A表显示要素图层默认版本(state_id=0)的现状。

 

归档信息迁移步骤

迁移归档信息需要采用如下步骤:

1、 通过复制粘贴方式迁移要素图层的现状。

2、 启用目标数据库的要素图层的归档功能。

3、 导出原数据库中要素图层的归档信息。

迁移非版本化数据,示例SQL:

create table poi_archive as

select objectid,shape,name,gdb_from_date,gdb_to_date from poi

where  poi.gdb_to_date <> '9999-12-31 23:59:59'::timestamp without time zone;

迁移版本化数据,示例SQL:

create table poi_archive as

select objectid,shape,name,gdb_from_date,gdb_to_date from poi_h

where  poi_h.gdb_to_date <> '9999-12-31 23:59:59'::timestamp without time zone;

 

4、 向目标数据库导入上述导出的归档信息。

5、 把归档信息追加到目标要素图层。

迁移非版本化数据,示例SQL:

insert into  poi (objectid,shape,name,gdb_from_date,gdb_to_date)

select objectid,shape,name,gdb_from_date,gdb_to_date from poi_archive;

迁移版本化数据,示例SQL:

insert into  poi_h (objectid,shape,name,gdb_from_date,gdb_to_date)

select objectid,shape,name,gdb_from_date,gdb_to_date from poi_archive;

posted @ 2021-08-10 14:56  卢伟亮  阅读(111)  评论(0编辑  收藏  举报