li00lee 2012-11-06
问题背景:
单位重装财务服务器,在装k3时安装界面为乱码,后将操作系统区域设置为中国,再次安装k3没有出现乱码。
问题描述:
1、在操作明细帐时,摘要一栏中文全部显示为“问号”,查看凭证摘要正常显示中文。
2、过滤明细帐时,若勾选“按对方科目多条显示”,提示:“名称或代码在系统中已被使用”。详细:
Source:MicrosoftOLEDBProviderforSQLServer
Detail :无法执行 varchar 值到 varchar 的隐式转换,原因是,由于排序规则冲突,该值的排序规则未经解析。分析:
这两个问题可能是一个问题引起,排序规则冲突,master与k3数据库排序规则不一致。为什么不一致?初步估计是因为在装sql2005时操作系统区域设置为美国。
为什么明细帐摘要中文显示问号,而凭证显示正常呢?这个问题确实不好理解,可能k3在取明细帐摘要时用到了临时表之类的系统库资源(问题2应该是这个原因),也有可能是k3的这个控件有问题。
微软网站上有一段关于Master 数据库与用户定义的数据库的排序规则应一致的说明:
原文:http://technet.microsoft.com/zh-cn/library/bb402915%28v=sql.105%29
如何更改master排序规则:
start/waitsetup.exe/qbINSTANCENAME=MSSQLSERVERREINSTALL=SQL_Engine
REBUILDDATABASE=1SAPWD=testSQLCOLLATION=Chinese_PRC_CI_AS
原文:http://msdn.microsoft.com/zh-cn/library/bb330962.aspx
经验:
1、装完操作系统一定要注意区域语言设置。哪怕装的是中文简体版。
2、检查时区设置。
3、mssql数据库要注意系统数据库与用户数据库的排序规则一致。