为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
测试环境:
版本:V8-2025 系统模式:普通模式 大小写敏感:是
客户环境:
版本:V8-2022 系统模式:普通模式 大小写敏感:否
【操作系统】:win-64
【CPU】:
【问题描述】*:
项目环境:.net8+SqlSugarCore+Dm.Provider
实体类:
public class ProjectVersionInfo
{
[SugarColumn(SugarColumn(ColumnDataType = "char", Length = 36, IsPrimaryKey = true)]
public Guid Id {get; set;}
[SugarColumn(SugarColumn(ColumnDataType = "Varchar", Length = 200)]
public string Comment {get; set;}
}
通过SqlSugar创建的表名、列名都是全大写。
使用SqlSugar的InsertAsync方法插入数据,生成的SQL如下
INSERT INTO "PROJECTVERSIIONINFO ("COMMENT","ID")
VALUES (:Comment,:Id)
现象:
测试环境:正常
客户环境:报错 “列[Comment]附近出现语法错误”
大概率是关键字问题
方式1:数据库配置文件dm.ini中修改EXCLUDE_RESERVED_WORDS参数
样例:
EXCLUDE_RESERVED_WORDS = COMMENT
注:修改后需要重启数据库服务。
方式2:配置dm_svc.conf文件,添加KEYWORDS配置项
样例:
全局配置区
TIME_ZONE=(480)
LANGUAGE=(cn)
DB1=(192.168.1.101:5236)
[DB1]
服务配置区
KEYWORDS=COMMENT,ORDER
注:应用通过服务名访问方式登陆数据库,需重启应用服务。

comment是系统保留关键字,可以参考配置一下屏蔽关键字,建议在客户端的dm_svc.conf中配置,不去动数据库服务端配置,这样改动小影响也小
https://eco.dameng.com/community/article/6ca6b591fecb40d2941e524af5fc25c9