DM8:-7082:外部表数据错误

        本篇文章主要记录使用DM8过程中,遇到报错“-7082:外部表数据错误”的排查过程及解决办法。

1.背景:

        开发商在本地windows环境进行系统开发,根据业务逻辑,会定时传输外部表到指定路径,使用完外部表之后进行删除。在该版本“DM Database Server 64 V8--03134283914-20220909-169171-20009 Pack1”的数据库下,查询外部表时,报“-7082:外部表数据错误”。

报错语句:select  count(*)  from SYSBDA.EA;

2.报错环境:

操作系统windows 10 
数据库版本DM Database Server 64 V8--03134283914-20220909-169171-20009 Pack1
数据记录行数10w-100w

3.定位问题

1).排查数据编码和格式问题

        用户给表结构简单,测试数据也很少,很简单。初步排查与数据的编码和格式没有太大的关系。

2). 同版本数据库不同环境

        因为担心是windows环境的问题,所以在windows执行了500-1000次的查询该表的语句。发现此版本的数据库在windows环境和linux环境执行相同SQL语句能稳定复现“-7082:外部表数据错误”。
         执行500次,有33次查询是返回该错误的,如下图:

3.3 不同版本相同环境

        经过测试,使用如下安装包,执行查询外部表是没有报错的。因此在当时是建议用户降数据库版本进行系统开发,现在最新的版本已修复了该问题。

        测试数据库情况如下:

dm8_20210910_x86_win_64_ent_8.1.2.70 没有问题
 dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso   没有问题
dm8_20220905_x86_win_64_ent_8.1.2.70_pack7没有问题
dm8_20221027_x86_win_64_ent最新版没有问题 
dm8_20220914_x86_rh6_64.iso有问题
dm8_20220916_x86_win_64.iso有问题

        

 附录:

 windows cmd命令行实现循环执行200次查询达梦数据库示例:

@(for /l %i in (1,1,200)  do (disql.exe -S  sysdba/SYSDBA -e "select count(1) cnt from SYSDBA.EA")) > EA2.log

更多内容,请访问达梦社区地址:https:eco.dameng.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值