吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4382|回复: 10
收起左侧

[其他转载] 达梦数据库日常经验总结

[复制链接]
wshy3366 发表于 2020-8-12 15:58
本帖最后由 wshy3366 于 2020-12-18 15:34 编辑

使用达梦数据库一段时间了,有些日常小细节需要注意,总结如下:
1、求一个平均数  select 3/2 from dual  oracle得到的是1.5,达梦得到的1,这是因为DM对于长度小于10位的整数,默认为INT类型。DM7当做INT处理,返回INT。
解决方案:
(1)修改dm.ini参数COMPATIBLE_MODE=2,兼容Oracle的NUMBER(详情请参考《DM7系统管理员手册》)
可以通过执行DM函数修改:sp_set_para_value(2,'COMPATIBLE_MODE',2),注意:修改后需要重启数据库才能生效
修改后可以查询相关的视图进行确认。 最主要的视图是:
1)V$PARAMETER:显示 ini 参数和 dminit 建库参数的类型及参数值信息(当前会话值、系统值及 dm.ini
文件中的值)。
2)v$dm_ini:所有 ini 参数和 dminit 建库参数信息。 但这个视图查询的内容有点多,DM提供了分类的视图,比如V$DM_ARCH_INI,查询归档的相关参数值。
(2)将INT转为NUMBER select 3.0/2.0 from dual工作中采用的是第一种方法,避免了INT转NUMBER的操作,同时兼容了oracle。
另外还要注意,mybatis中返回变量要类型设置为java.lang.Float,jdbcType设置为DECIMAL就可以正常展示了
<result column="avg_remark_per_case" property="remarkCntPerCase" javaType="java.lang.Float" jdbcType="DECIMAL"/>
(3)如果以上方法还不能解决,尝试将CALC_AS_DECIMAL设置为1并重启数据库
2、全库导出后导入提示该工具不能解析此文件,请使用更高版本的文件
原因解析:说明导入人使用的dimp版本老了
解决方案:数据库导出的库的数据库软件安装目录下的dmdbms/bin文件夹整个打包发给导入的人,然后导入人在本地上使用这个包来导入。这样做的目的是想通过替换bin文件夹来升级dimp工具然后再导入。
另外要注意:导入的模式要保持一致,否则会新创建一个导出时使用的模式,无法导入到要求的模式下
3、查询语句中IS NOT NULL不起作用和1一样,也是设置为兼容模式
4、创建用户后登录总提示密码不对
发现是DM默认密码是大写,登录的时候输入大写就能登录了。
可以通过以下sql查看数据库是否大小写敏感。SELECT SF_GET_CASE_SENSITIVE_FLAG()  --1:敏感  0:不敏感
5、还有其他一些问题,待续

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

东方星雨 发表于 2020-8-12 16:10
直接复制粘贴的吗?
排版有些乱,也不知道达梦数据库为何物
zcsyok 发表于 2020-8-12 16:10
瞄帕斯 发表于 2020-8-12 16:22
mycnnc 发表于 2020-8-12 16:24
没看懂什么意思

吾爱破解论坛最帅的人是谁?答案:Hmily
这次验证答案好调皮
952712345 发表于 2020-8-12 16:43
sysdba   
ilavac 发表于 2020-8-12 16:45
达梦数据库式微了。。。
陪wo春秋冬夏 发表于 2020-8-12 17:23
我们公司再用达梦 刚接触  感谢
chbbing87 发表于 2021-11-19 13:14
了解一下
saz 发表于 2021-11-19 13:24
插入不能返回主键,挺难受的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 11:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表