缘起
随着国产化信创大势崛起,越来越多的国产数据库跃上潮头。在用惯了国外数据库软件后,使用DM8的过程中前前后后遇到了不少“不习惯”,当然,用多了也就习惯了,要多给国产DB一些成长空间。
功能点探索
DM管理工具
日常开发中用的最多的工具,功能类似Navicat、MS SQL Studio。一个好用的SQL语句编辑器能捕获开发人员的不少欢心。
在一次探索过程中,通过“新建查询”窗口编写了更新数据的update语句,并且提示执行成功,可是应用程序始终读取的是旧数据,而且应用再对相关表数据做update操作时,提示更新超时,非常抓狂的体验,排查网络,排查程序日志,重启数据库服务,还是不行,无意中看到了数据库锁表记录,有没有提交的事务。。。。
于是想到了编辑器上的一排操作图标:执行,
没错,那个灰色的对号,在执行完普通的update、delete操作后,对号就变成绿色,需要手工点击“提交”commit!类似Navicat里面数据行编辑后,底部的小对号提交一样,就SQL Server惯坏了我们,默认自动提交。
每次点击提交麻烦,可以点击窗口->选项->查询分析器 来设置自动提交,如下图:
另外:SQL语句格式化藏的比较深(ctrl+shift+f),习惯用快捷键的无感可以忽略。
数据编辑
用惯了数据查询窗格的数据编辑,或者“编辑前200行”,当修改了某个数据后,需要习惯性的Ctrl+S一下,类似保存表结构修改或者保存文档,才能提交数据修改:
数据筛选
浏览数据后,希望能在数据窗格快速做一些条件过滤,其它家都是那么水到渠成就完成了,可是在这里,笔者放弃了好几次,不知道怎么设置过滤漏斗:
显示列得自己添加,再在显示列基础上,选择要不要过滤,选择“是”,再来设置平时的过滤条件和值,不太直接!
DM数据迁移工具
达梦DTS是个好工具!可以精细化控制数据和架构的同步过程。若是每次能把单项的任务导出配置或者另存为DTS包,定期或者手工执行更好。
使用过程中,有时候仅仅需要做数据的全量同步,忽略主外键,每次都要单独对单个表进行设置,用了好多次,才发现配置底部居然有个全局Apply!!!为啥不在外层的列表里面来个全局设置呢,作为程序员一看就懂的,藏的这么深:
其它改进点
字段类型变更,text、clob改为varchar2, 很普通的需求,通过DDL改不动,解决方案:创建新列,迁移数据,再删除原来的列;或者重新建表。。。这要是系统上线了,不敢这么去搞的。
EFCore8的驱动适配,开发社区提了好久,估计还得等等。
继续熟悉中。
总结
通过一系列的DM使用总结文章来普及一些经验,方便其它同学少踩坑。