DM 数据库(达梦数据库)是达梦公司自主研发的关系型数据库管理系统,提供数据存储、管理与事务处理等基础数据库能力。DMSpatial 空间数据库是基于 DM 数据库并结合 DMGEO 空间扩展能力构建的空间数据库,用于支持空间数据的存储、管理与处理。在 SuperMap iDesktopX 中,使用 DMPlus 数据源连接 DM 数据库,使用 DMSpatial 数据源连接 DMSpatial 空间数据库。本文介绍如何使用 SuperMap iDesktopX 对 DM 和 DMSpatial 数据库进行操作。
1.安装数据库
在使用 SuperMap iDesktopX 连接 DM 数据库或 DMSpatial 空间数据库进行操作之前,请确认数据库已正确安装。您可以通过达梦官方渠道(https://www.dameng.com)获取数据库安装包和部署指南。
数据库安装完成后,您可以使用“达梦数据库配置助手”,启动一个数据库实例。

然后,如果您使用的是 DMSpatial 空间数据库,您需要启用 DMGEO 空间扩展包,以支持空间数据的存储与处理能力,当前达梦数据库提供 DMGEO1、DMGEO2 两种空间扩展包,其中,DMGEO2 是在 DMGEO1 基础上的升级版本,提供了更丰富、更完善的空间数据处理能力。SuperMap iDesktopX 支持 DMGEO1 和 DMGEO2 两种空间扩展包,推荐您优先选择使用 DMGEO2。
这里以 DM8 为例,使用 DM 数据库管理工具,在数据库中执行以下 SQL 语句,检查当前数据库是否已启用 DMGEO:
SELECT SF_CHECK_GEO_SYS; //返回 1 表示已启用 DMGEO1,返回 0 表示未启用 DMGEO1。
SELECT SF_CHECK_GEO2_SYS; //返回 1 表示已启用 DMGEO2,返回 0 表示未启用 DMGEO2。
如果未启用 DMGEO 空间扩展包,您可以通过 SuperMap iDesktopX 创建 DMSpatial 数据源,自动启用 DMGEO 空间扩展包,创建 DMSpatial 数据源过程中将默认自动启用 DMGEO2。您也可以通过 DM 数据库管理工具,执行以下 SQL 语句启用 DMGEO:
call SP_INIT_GEO_SYS(1); // 1 表示启用 DMGEO1,0 表示禁用。
call SP_INIT_GEO2_SYS(1); // 1 表示启用 DMGEO2,0 表示禁用。
特殊说明:- SuperMap iDesktopX 不支持同时启用 DMGEO1 和 DMGEO2,一个数据库实例只能启用其中一种空间扩展包。
- 当数据库已启用 DMGEO1,通过 SuperMap iDesktopX 创建数据源过程中将继续使用 DMGEO1,不会自动切换为 DMGEO2。并且请勿在同一数据库中切换 DMGEO 空间扩展,当您已经启用 DMGEO1 并开始写入空间数据后,若需要切换使用 DMGEO2,您应该重新创建一个数据库,并在新库中启用 DMGEO2。
2.配置连接数据库所需的客户端动态库
客户端动态库是 SuperMap iDesktopX 成功连接和正常读写 DM 数据库或 DMSpatial 空间数据库的前提条件,如果运行 SuperMap iDesktopX 的计算机上未配置客户端动态库,在 SuperMap iDesktopX 中的“新建/打开数据库型数据源”窗口,DMPlus、DMSpatial 选项将是置灰状态。您可以通过达梦官方渠道获取所需的客户端动态库。
当您使用的是 DMSpatial 数据源,需获取数据库提供的 dmdpi(Windows 平台为 dmdpi.dll,Linux 平台为 dmdpi.so) 以及 dmdpi 依赖的本地动态库,将这些动态库文件拷贝至运行 SuperMap iDesktopX 的计算机上,并将文件路径加入系统环境变量:
Windows:PATH=../dmdpi
Linux:LD_LIBRARY_PATH=../dmdpi
当您使用的是 DMPlus 数据源,需获取数据库提供的 dmoci(Windows 平台为 dmoci.dll,Linux 平台为 dmoci.so)以及 dmoci 依赖的本地动态库,同样将这些动态库文件拷贝至运行 SuperMap iDesktopX 的计算机上,并将文件路径加入系统环境变量。
注意事项:建议数据库客户端动态库的版本与数据库服务器版本一致或同一主版本号,避免因接口不兼容导致连接或操作异常。
3.在 SuperMap iDesktopX 中操作
完成数据库和客户端环境准备后,您将可以使用 SuperMap iDesktopX 新建 DMPlus 和 DMSpatial 数据源,并进行后续操作。

| DMPlus 数据源 | DMSpatial 数据源 | |
|---|---|---|
| 支持的数据集类型 | 属性表、点、线、面、文本、CAD、镶嵌、栅格、影像、多点、网络、路由、拓扑、模型、体。 | 属性表、点、线、面、文本、CAD、镶嵌、栅格、影像、多点、网络。 |
| 更多特性 |
|
|
相关主题