相关资料
下载:https://eco.dameng.com/download/
数据库管理系统DM8:https://eco.dameng.com/info/products/dm8
在线服务平台:https://eco.dameng.com/
技术文档:https://eco.dameng.com/document/dm/zh-cn/start/index.html
应用开发指南:https://eco.dameng.com/document/dm/zh-cn/app-dev/
社区问答:https://eco.dameng.com/community/question/
达梦仓库:https://central.sonatype.com/search?q=com.dameng
注册服务:注册服务 ~| 达梦技术文档 (dameng.com)
启动、停止数据库:启动、停止数据库 ~| 达梦技术文档 (dameng.com)
使用教程
客户端
DM管理工具
常用命令
1、创建表。(可以重复执行)
DECLARE
num NUMBER;
BEGIN
SELECT COUNT(1) INTO num from user_tab_columns where table_name = upper('GIS_ASSETS_CONFIG');
IF num = 0 THEN
EXECUTE IMMEDIATE 'CREATE TABLE GIS_ASSETS_CONFIG
(
ID NUMBER(20,0) NOT NULL PRIMARY KEY,
TENANT_ID VARCHAR2(12),
DEPT_ID NUMBER(20,0),
DEPT_CODE VARCHAR2(100),
DEPT_NAME VARCHAR2(45),
MATERIAL VARCHAR2(100),
DIAMETER VARCHAR2(100),
PRICE NUMBER(12,7),
CREATE_USER NUMBER(20,0),
UPDATE_USER NUMBER(20,0),
CREATE_TIME DATE,
UPDATE_TIME DATE,
IS_DELETED NUMBER DEFAULT 0
)';
EXECUTE IMMEDIATE 'COMMENT ON TABLE GIS_ASSETS_CONFIG IS ''资产报表配置''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.ID IS ''主键''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.TENANT_ID IS ''租户ID''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.DEPT_ID IS ''机构ID''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.DEPT_CODE IS ''机构编码''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.DEPT_NAME IS ''机构名称''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.MATERIAL IS ''材质''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.DIAMETER IS ''管径''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.PRICE IS ''价格''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.CREATE_USER IS ''创建用户''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.UPDATE_USER IS ''更新用户''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.CREATE_TIME IS ''创建时间''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.UPDATE_TIME IS ''更新时间''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN GIS_ASSETS_CONFIG.IS_DELETED IS ''是否删除''';
END IF;
END;
2、给数据表添加字段。(可以重复执行)
DECLARE
num NUMBER;
BEGIN
SELECT COUNT(1) INTO num from user_tab_columns where table_name = upper('GIS_LAYER_DATA') and column_name = upper('DISPLAY_FIELD');
IF num = 0 THEN
execute immediate 'ALTER TABLE HYLAB_BUSINESS.GIS_LAYER_DATA ADD (DISPLAY_FIELD VARCHAR2(255))';
execute immediate 'COMMENT ON COLUMN HYLAB_BUSINESS.GIS_LAYER_DATA.DISPLAY_FIELD IS ''展示字段''';
execute immediate 'UPDATE HYLAB_BUSINESS.GIS_LAYER_DATA SET DISPLAY_FIELD = ''''';
END IF;
END;
示例程序
常见问题
1、TEXT或CLOB类型字段存超长文本Java驱动获取数据报错:index out of range。
不同版本的Dm8JdbcDriver会报不同的错误,改驱动版本为8.1.2.141即可。
<ol class="list-group list-group-numbered">
<li class="list-group-item border-0">1.1.193:正常</li>
<li class="list-group-item border-0">1.2.79:index out of range</li>
<li class="list-group-item border-0">1.2.141:正常</li>
<li class="list-group-item border-0">1.2.192:网络通信异常,Cannot assign requested address: connect</li>
<li class="list-group-item border-0">1.3.62:无效的模式名[HYLAB_BUSINESS]</li>
</ol>
<!-- https://mvnrepository.com/artifact/com.dameng/DmJdbcDriver18 -->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.2.141</version>
</dependency>
2、启动微服务报错:dm.jdbc.driver.DMException: 第1 行附近出现错误,无效的模式名[INFORMATION_SCHEMA]。
在项目中添加包:DmDialect-for-hibernate5.4,然后修改spring.jpa.database-platform为org.hibernate.dialect.DmDialect即可。
<!-- https://central.sonatype.com/artifact/com.dameng/DmDialect-for-hibernate5.4 -->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmDialect-for-hibernate5.4</artifactId>
<version>8.1.3.62</version>
</dependency>
spring:
jpa:
database-platform: org.hibernate.dialect.DmDialect
3、错误号: -2106,无效的表或视图名[V$HUGE_TABLESPACE_PATH]。
4、DM管理工具无法记住密码。
点击对象导航右侧工具栏上的注册连接,填写主机名、端口、用户名、口令,一定要勾选 保存口令 和 添加到连接组,点击确定即可。
5、在data文件夹中没有DAMENG文件夹。
使用以下命令创建达梦实例。
./dminit PATH=/dm/data/ PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=N CHARSET=0 LENGTH_IN_CHAR=Y DB_NAME=DAMENG LOG_SIZE=2048 INSTANCE_NAME=DMSERVER PORT_NUM=5236