欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > SqlSugar查询达梦数据库遇到的异常情况(续)

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

2025/11/7 9:02:58 来源:https://blog.csdn.net/gc_2299/article/details/144547019  浏览:    关键词: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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词