达梦DEM安装及其字符集问题

今天尝试在windows下部署了一下达梦的DEM,出现了dem管理平台初始密码无法登录的问题,特此记录下

解决经过。

部署环境:windows10  后台数据库:dm8

部署步骤:

1.创建dm8实例作为后台数据库,修改dm.ini 并启动

MEMORY_POOL          =  200
BUFFER               =  1000
KEEP                 =  64
MAX_BUFFER           =  2000
SORT_BUF_SIZE        =  50

2.使用disql工具连接后台数据库并执行初始化脚本dem_init.sql

conn SYSDBA@localhost:5238

start D:\program\dm8\data2\DAMENG\dem_init.sql

3.使用压缩工具打开 dem.war,在文件 WEB-INF/db.xml 中配置 ip、port、用户名、密码、连接池大小,SSL 登录信息等。(本次实验没有加密与后台数据库的连接)

<?xml version="1.0" encoding="UTF-8"?>
<ConnectPool>
    <Server>localhost</Server>
    <Port>5238</Port>
    <User>SYSDBA</User>
    <Password>SYSDBA</Password>
    <InitPoolSize>5</InitPoolSize>
    <CorePoolSize>10</CorePoolSize>
    <MaxPoolSize>50</MaxPoolSize>
    <KeepAliveTime>60</KeepAliveTime>
    <DbDriver></DbDriver>
    <DbTestStatement>select 1</DbTestStatement>
    ##<SSLDir>../sslDir/client_ssl/SYSDBA</SSLDir>
    ##<SSLPassword></SSLPassword>
</ConnectPool>
4.复制修改后的 dem.war 到 tomcat 的 webapps 目录下。在 conf/server.xml 中,<Connector port="8080" protocol="HTTP/1.1"... 追加属性字段 maxPostSize="-1";

    <Connector port="8080" protocol="HTTP/1.1"
                maxPostSize="-1"
               connectionTimeout="20000"
               redirectPort="8443" />

5.在 bin/catalina.bat 中调整如下参数:

set java_opts= -server -Xms40m -Xmx1024m -XX:MaxPermSize=512m -Djava.library.path=D:\program\dm8\bin;

6.启动tomcat,访问localhost:8080/dem/,输入用户名admin,密码888888,无法登录

 7.此时可用dm8管理工具连接后台数据库,查看dem后台数据:

select * from dem.admin_user;//看到的是空表。

insert  into dem.admin_user (id,login_name,password,role_id) values (9,'tutu','888888',7);//此时我们手动增加了一个用户tutu,密码888888,具有高级用户权限。

此时查找admin_user用户是存在的。

再次用tutu用户登录或者admin用户登录仍然失败。

==================================================================

经查找手册和调试,发现是字符集问题。dem_init.sql脚本编码为UTF-8,而我们本机环境默认编码为GBK,DISQL默认编码也是GBK,导致初始化后台数据库的dem数据时用户名密码异常。重新初始化后台数据库以及执行dem_init.sql脚本之后可正常登录DEM管理平台。

====================================================================

说明:windows默认的编码是GBK,我们在shell中可以使用chcp [nnn]来临时修改编码。

936          中国 - 简体中文(GB2312)

65001        Unicode (UTF-8)

52936        简体中文(HZ)

437          美国英语

在win10下,如果要永久修改windows的默认字符集为UTF8,可以:设置->日期和时间->管理语言设置->更改系统区域设置->勾选“Beta版:使用Unicode UTF-8 提供全球语言支持”

========================== =====================

在创建数据库实例时,字符集是可选的:

CHARSET/UNICODE_FLAG 字符集 (0),可选值: 0[GB18030], 1[UTF-8], 2[EUC-KR]

 数据库实例初始化以后字符集无法修改。

===========================================================

使用disql执行脚本时,可以设置set CHAR_CODE UTF8

更多参考内容请访问达梦云适配中心

https://eco.dameng.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值