1、使用dmdis迁移数据
环境信息
程序版本 os信息
arcgis10.8 windows11
oracle11g centos7 3.10.0-1160.71.1.el7.x86_64
DM Database 64 V8 03134284172-20240321-222308-20093 centos7 3.10.0-1160.71.1.el7.x86_64
DMDIS Version V5.0.6.6-Build(2024.04.07-156929) centos7 3.10.0-1160.71.1.el7.x86_64
2.新建工程
Dis控制台页面新建工程distest
2.4.2新建转换任务
工程下新建转换任务oracle-dm
2.4.3编辑转换任务
创建完成后,双击进入转换工程具体页面并编辑任务
左侧分别添加源端及目标端数据源
注意oracle源端配置时,需要使用sysdba角色连接
数据源配置完毕之后,还需添加表信息,才能在转换过程中选择到。在数据源一栏点击右键,选择添加表
找到需添加的表并勾选
完成添加表之后,在右侧工具栏,分别选择数据读取-表/视图,以及数据写入-表两栏,拖入中间编辑区
在中部编辑区双击拖入的元素,对数据集进行配置。点击浏览,在下拉框中选择本次需迁移的表
选择完成后,会加载该表的结构信息
以同样的方式配置目标端表信息
配置完成之后,在数据读取-表\视图方框内,点击绿色倒三角,拖拽至数据写入-表方框,表示数据流向,完成转换流程配置
2.4.4执行转换任务
上述配置工作完成后,点击编辑区上方绿色箭头,启动转换任务
可在下方日志区实时观察任务执行进程,可以看到地理数据已经成功由oracle迁移至目标库dm
连接目标库,查询测试表,可以看到地理数据已经成功迁移
3. 总结
当时条件下,sde类型的地理数据,仅能通过dmdis,在预先建立表结构的情况下,使用转换工程进行数据类型的转换并迁移。
4.过程中遇到问题及解决方法
4.1 dis连接oracle时报错ORA-06520: PL/SQL: 加载外部库时出错
问题原因:
oracle用户库未加载arcgis的地理数据外部库。
解决方法:
需要将arcgis外部库放置到oracle所在机器上,后执行以下sql指定加载外部库路径
CREATE OR REPLACE LIBRARY st_shapelib as ‘xxxxxxx’
之后重启数据库生效,可执行以下sql验证是否生效
SELECT sde.ST_AsText(SDE.ST_Geometry(‘POINT (10 10)’, 0)) FROM dual;
4.2 arcgis连接oracle时报错“无法连接到服务器,因为客户端软件无法加载”
问题原因:
Arcgis连接Oracle数据库的时候,所在机器需要配置Oracle的客户端,即使已oracle及arcgis部署在同一服务器,仍需要另外安装32位的oracle客户端供arcgis使用
解决方法:
安装完整oracle客户端,或使用instantclient,并配置系统环境变量,示例如下:
ORACLE_HOME = C:\instantclient_11_2
TNS_ADMIN = C:\instantclient_11_2
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
4.3 arcgis连接oracle创建地理数据库时报错ORA-01455: 转换列溢出整数数据类型
问题原因:
arcgis使用的客户端驱动与oracle版本不匹配
解决方法:
更换版本匹配的客户端,替换环境变量并重启arcgis生效
文章
阅读量
获赞