SuperMap iDesktopX 11i 工作空间迁移插件详解
目录 1. 概述2. 环境准备2.1. 达梦客户端环境配置 3. 工作流程3.1. 迁移流程 4. 接口详解4.1. 达梦数据库新建用户4.2. 迁移数据源4.3. 迁移地图4.4. 迁移场景4.5. 迁移布局4.6. 迁移资源4.7. 迁移图表、模型、视频地图、大屏、表格和资源4.8. 迁移工作空间
1. 概述
SuperMap iDesktopX 11i 扩展插件,主要用于对数据库型工作空间进行整体迁移,包括:工作空间、数据源、数据集、地图、场景、图表、模型、视频地图、大屏、表格 以及 资源 等。
2. 环境准备 软件版本下载地址说明SuperMap iDesktopX11iSuperMap iDesktopX 11i 下载地址目前该插件仅支持 iDesktopX 11i 版本,不建议在之前的版本使用DM 管理工具V8达梦数据库镜像下载地址DM管理工具无单独下载地址,下载完整的达梦数据库镜像后安装时选择只安装 DM管理工具2.1. 达梦客户端环境配置 达梦 V7 和 V8 的客户端并不通用,目前该工作空间迁移插件暂时仅支持 DM V8 版本;安装达梦客户端后,需要在将其安装路径配置到系统环境变量中(如:C:\dmdbms\bin)。 3. 工作流程
因为不同类型的数据库存储数据方式有所区别,进行完整工作空间迁移的时候需要根据数据库的各自特性创建对应的数据库或数据库用户,如下所示:
PostgreSQL / PostGIS 数据库与数据源之间的关系
DM 数据库与数据源之间的关系
3.1. 迁移流程
1). 根据输入的源数据库连接信息获取待迁移的工作空间;
2). 选择指定工作空间或者批量迁移;
3). 迁移工作空间中关联的数据源、数据集;
4). 迁移工作空间中存储的地图信息;
5). 迁移工作空间中存储的场景信息;
6). 迁移工作空间中存储的布局信息;
7). 迁移工作空间中存储的资源;
8). 迁移工作空间中存储的其他信息,包括:图表、模型、视频地图、大屏以及表格等;
9). 将上述迁移完成的工作空间另存为目标数据库的数据库型工作空间。
4. 接口详解 4.1. 达梦数据库新建用户
加载 DM 驱动 (DmJdbcDriver18.jar)
Class.forName(“dm.jdbc.driver.DmDriver”);
新建表空间
create tablespace “tablespaceName” datafile ‘tablespaceFolder\tablespaceName.DBF’ size 32 autoextend on next 64 maxsize 16777215 CACHE = NORMAL;
新建用户
create user “username” identified by “password” default tablespace “tablespaceName”;
用户赋权
grant “DBA”,”PUBLIC”,”RESOURCE”,”SOI”,”VTI” to “username”; 4.2. 迁移数据源
新建数据源
/** * 根据指定的连接信息创建数据源。 * * @param connectionInfo 数据源连接信息。 * * @return 新创建的数据源。 */ public Datasource create(DatasourceConnectionInfo connectionInfo)
迁移数据集
/** * 用于在相同或不同引擎数据源中复制数据集。 * * @param srcDataset 要复制的源数据集。 * @param desDatasetName 目标数据集的名称。 * @param encodeType 数据集的编码方式。 * * @return 复制得到的数据集。 */public Dataset copyDataset(Dataset srcDataset, String desDatasetName, EncodeType encodeType) 4.3. 迁移地图
导出地图
/** * 返回此地图对象的 XML 字符串形式的描述。 * * @return 返回地图的 XML 形式的描述。 */public String toXML()
迁移地图
/** * 添加地图到此地图集合对象中。 * * @param name 添加到地图集合中的地图的名称。 * @param xml 表示要添加的地图的 XML 字符串。 * * @return 新添加的地图在此地图集合对象中的序号。 */public int add(String name, String xml) 4.4. 迁移场景
导出场景
/** * 返回三维场景的的 XML 形式的描述。 * * @return 三维场景的 XML 形式的描述。 */public String toXML()
迁移场景
/** * 将用户输入的三维场景名称添加到三维场景集合中,添加位置为三维场景集合的最后。 * * @param name 三维场景名称。 * @param xml 用来创建三维场景的 XML 字符串。 * * @return 新加的三维场景在三维场景集合中的序号。 */public int add(String name, String xml) 4.5. 迁移布局
导出布局
/** * 返回布局对象的 XML 形式的描述信息。 * * @return 布局对象的 XML 形式的描述信息。 */public String toXML()
迁移布局
/** * 将用户输入的布局添加到布局集合中,添加位置为布局集合的最后。 * * @param name 布局名称。 * @param xml 用来创建布局的 XML 字符串。 * * @return 新加布局在布局集合中的序号。 */public int add(String name, String xml) 4.6. 迁移资源
导出符号库
/** * 导出符号库文件。 * * @param fileName 导出的文件名称。 * * @return 导出成功返回 true,失败返回 false。 */public boolean toFile(String fileName)
迁移符号库
/** * 导入符号库文件,该操作会先删除当前符号库中已经存在的符号。 * * @param fileName 导入的符号库文件名称。 * * @return 导入成功返回 true,失败返回 false。 */public boolean fromFile(String fileName) 4.7. 迁移图表、模型、视频地图、大屏、表格和资源
导出桌面信息
/** * 返回图表、模型、视频地图、大屏、表格和资源等的 XML 形式的描述信息。 * * @return 图表、模型、视频地图、大屏、表格和资源等的 XML 形式的描述信息。 */public String getDesktopInfo()
迁移桌面信息
/** * 设置输入的图表、模型、视频地图、大屏、表格和资源等桌面信息。 * * @param 输入的图表、模型、视频地图、大屏、表格和资源等桌面信息。 */public void setDesktopInfo(String desktopInfo) 4.8. 迁移工作空间
另存工作空间
/** * 用指定的工作空间连接信息对象来保存工作空间文件。 * * @param connectionInfo 工作空间连接信息对象。 * * @return 工作空间是否保存成功。 */public boolean saveAs(WorkspaceConnectionInfo connectionInfo)