签到成功

知道了

CNDBA社区CNDBA社区

达梦 DM8 JDBC 驱动 版本导致的数据异常 说明

2022-11-07 18:40 6009 0 原创 DM 达梦
作者: dave

1 现象和问题解决

研发在使用DM8 数据库得时候,发现一个非常诡异得现象,就是DML 操作后得数据不会立即更新,而是需要刷新几次后才会更新。

http://www.cndba.cn/dave/article/116346
http://www.cndba.cn/dave/article/116346

排除了代码和数据库方面得原因后,最终将问题定位到了达梦得JDBC 驱动上。 http://www.cndba.cn/dave/article/116346http://www.cndba.cn/dave/article/116346

研发使用了8.1.1.193 得驱动http://www.cndba.cn/dave/article/116346

maven依赖配置示例: 
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>8.1.1.193</version>
        </dependency>

这里得代码实际上达梦驱动目录里得readme文件内容。 研发就是看了这个示例后,特意找了个这个版本的JDBC 驱动,最终导致了我们开始说的DML 数据异常问题。

这里有一个大的背景: 就是Oracle 官方的JDBC 驱动对国产数据库支持并不友好,有些功能并不支持,所以达梦只能开发了自己的JDBC 驱动,在数据库的安装目录下:http://www.cndba.cn/dave/article/116346

[dave@www.cndba.cn ~]# cd /data/dm/dmdbms/drivers/jdbc/
[dave@www.cndba.cn ~]#  ll
total 3080
drwxr-xr-x 2 dmdba dinstall    4096 May 24 17:12 dialect
-rwxr-xr-x 1 dmdba dinstall   69832 May 24 17:12 dm8-oracle-jdbc16-wrapper.jar
-rwxr-xr-x 1 dmdba dinstall 1021888 May 24 17:12 DmJdbcDriver16.jar
-rwxr-xr-x 1 dmdba dinstall 1021196 May 24 17:12 DmJdbcDriver17.jar
-rwxr-xr-x 1 dmdba dinstall 1022178 May 24 17:12 DmJdbcDriver18.jar
-rwxr-xr-x 1 dmdba dinstall    3023 May 24 17:12 readme.txt
[dave@www.cndba.cn ~]#

正常情况下,我们使用这个版本的JDBC 驱动,不会有什么问题。 我们的环境因为研发使用了其他的版本,导致了异常,替换为正确的版本后,问题得到解决。 http://www.cndba.cn/dave/article/116346

2 达梦JDBC 驱动版本说明

在达梦的DmJdbcDriver18.jar 驱动文件中,我们直接解压缩,然后查看MANIFEST.MF 文件中的内容,如下:http://www.cndba.cn/dave/article/116346http://www.cndba.cn/dave/article/116346

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.8.0_65-b17 (Oracle Corporation)
Implementation-Vendor: DAMENG
Implementation-Title: Dameng JDBC driver classes for use with JDK1.8
Implementation-Version: - 8.1.2.128 - Production
Driver-name: dm.jdbc.driver.DmDriver
Build-Time: 2022.07.14
Main-Class: dm.jdbc.driver.DmDriver
Premain-Class: dm.jdbc.stat.support.WebServer
Svn-Revision: 11496

这里可以看到我们JDBC 的版本:8.1.2.128

达梦的JDBC 驱动分奇数版本和偶数版本:

奇数:一般是测试版本。
偶数:对外发布的生产版本。

我们之前的问题,恰好使用了奇数版本,导致出现了问题。 所以对于生产环境,我们直接使用数据库安装目录下的驱动即可,无需单独从其他地方,不然反而容易出现一些异常情况。 http://www.cndba.cn/dave/article/116346

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2261
    原创
  • 3
    翻译
  • 578
    转载
  • 191
    评论
  • 访问:7970653次
  • 积分:4346
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ