EAS客户端登陆服务器时候提示排序规则冲突错误处理--只针对SQL Server数据库

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

EAS客户端登陆服务器时候提示排序规则冲突错误处理--只针对SQL Server数据库

问题描述:

EAS客户端登陆服务器时候提示排序规则冲突错误,如:

无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS" 之间的排序规则冲突。Select … from …


解决方案:

1.EAS的SQL Server数据库的排序规则必须是Chinese_PRC_CI_AS,表字段排序规则必须是Chinese_PRC_CS_AS。

2.数据库引擎中建的EAS表的字段默认为Chinese_PRC_CI_AS,排序规不对要改为Chinese_PRC_CS_AS,用EAS查询分析器的KSQL语法建表以及添加字段,建的表字段排序规则是Chinese_PRC_CS_AS。如果在数据库中建表或在查询分析器中以方言方式建表,则需对建的表的字符型字段(区分大小写)后面加上COLLATE Chinese_PRC_CS_AS,如:CREATE TABLE VTZAXITHWZ1JSVMCMH6OHBCZ17APCEE9GHIUG (fuserid VARCHAR (44) COLLATE Chinese_PRC_CS_AS, forgid VARCHAR (44) COLLATE  Chinese_PRC_CS_AS, ftype INT)

3.通过下面的脚本排查存在冲突的表及字段,

select a.name 表名,b.name 字段名,b.collation 排序规则

  from sys.sysobjects a

  inner join sys.syscolumns b on a.id=b.id

  where b.collation='Chinese_PRC_CI_AS'  /*查询是否存在忽略大小写的字段*/

    and a.xtype='U'/*只显示用户对象*/

    and a.name like 'T_%' /*只显示EAS的表*/;

将排序规则为Chinese_PRC_CI_AS表的字段的排序规则要改为Chinese_PRC_CS_AS,修改方法为--例如:

alter table t_gl_assistmeasurebalance alter column ForgUnitID varchar(44) NOT NULL COLLATE Chinese_PRC_CS_AS;   --不允许为空的字段的处理方法(如果是主键的要删除主键,再修改,改后再重建表的主键)

alter table t_gl_assistmeasurebalance alter column ForgUnit varchar(44) COLLATE Chinese_PRC_CS_AS;   --允许为空的字段的处理方法


EAS客户端登陆服务器时候提示排序规则冲突错误处理--只针对SQL Server数据库

问题描述:EAS客户端登陆服务器时候提示排序规则冲突错误,如:无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_A...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息