当前位置: 首页 > article >正文

SqlSugar查询达梦数据库遇到的异常情况(续)

  之前的文章提到在SqlSugar的Where函数中使用!string.IsNullOrEmpty函数查询达梦数据库时,明明数据库中有数据但就是查不出来,但相同的代码在另一台电脑上就可以正常返回数据。
  以下图中的两张表数据为例,执行下面的SQL语句无法查询到数据,但将OR B.ID ='‘去掉就可以查询到数据,或者将OR B.ID =’‘修改为OR B.ID =’ '也可以查到数据,感觉跟达梦处理空字符串的方式有关系。

SELECT  A.NAME  AS  CLASSNAME  ,B.NAME  AS  STUDENTNAME   
FROM  SCHOOL.CLASS   A  Left JOIN  SCHOOL.STUDENT   B  ON (  A.ID  =  B.CLASSID  )  
WHERE (( A.CINDEX  < 4 ) AND NOT(  B.ID  IS NULL   OR  B.ID =''))

在这里插入图片描述
  百度“达梦 空字符串”,在参考文献3中提到达梦数据库中空字符串的处理跟COMPATIBLE_MODE参数有关(参数说明见参考文献1),默认值为0,但可以修改为0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server, 4:MySQL, 5:DM6, 6:Teradata, 7:PG等值。当前电脑中达梦数据库的COMPATIBLE_MODE值为2。
  将COMPATIBLE_MODE值修改为0,可以通过参考文献2中的方式修改参数值,也可以找到dm.ini文件直接修改其中的参数值,然后重启达梦服务(在达梦服务查看器中重启)。

在这里插入图片描述
  再运行本文开头的SQL语句即能正常返回数据。
在这里插入图片描述

参考文献:
[1]https://blog.csdn.net/u011197085/article/details/139359872
[2]https://blog.csdn.net/weixin_42447367/article/details/107574073
[3]https://blog.csdn.net/aoxue469/article/details/133925527


http://www.kler.cn/a/447017.html

相关文章:

  • Windows中运行Linux(WSL)
  • 厦门凯酷全科技有限公司短视频带货可靠吗?
  • 算法学习(十六)—— 综合练习
  • ChromeOS 131 版本更新
  • Azure虚拟机非托管磁盘大小调整
  • lambda初探(一)
  • Python使用GitLab API来获取文件内容
  • VMware安装Ubuntu 16.04以及安装好后初步使用配置!
  • 【容器】k8s学习笔记原理详解(十万字超详细)
  • 【论文笔记】结合:“integrate“ 和 “combine“等
  • 在 DDD 中优雅的发送 Kafka 消息
  • 基于SIFT的目标识别算法
  • 中化信息与枫清科技深化合作:共探“AI+”产业新生态
  • 如何制造生产电控超表面
  • 云消息队列 MQTT 版:物联网通信的基础设施
  • 深入QML语法
  • 详解快排+归并排序+堆排序 附源码
  • thinking claude从入门到精通
  • 前端中的拖拽知识
  • 前端利用JS实现自定义表格滚动效果
  • 【C++】角谷猜想问题分析与解答
  • 基于Java Web的“使用Ajax实现无刷新实时显示公告信息”实验
  • Spring实例化的基本流程和Bean处理器
  • LeetCode 2545.根据第 K 场考试的分数排序:考察编程语言的排序
  • 现代 CSS 布局与响应式设计实战指南
  • asp.net多媒体教室管理系统VS开发sqlserver数据库web结构c#编程计算机网页项目