当前位置:首页 > 开发 > 行业应用 > 正文

kingdee k3v12明细帐中文摘要“问号”与过滤时报错的原因分析

发表于: 2012-11-06   作者:suxing   来源:转载   浏览:
摘要: 问题背景: 单位重装财务服务器,在装k3时安装界面为乱码,后将操作系统区域设置为中国,再次安装k3没有出现乱码。   问题描述: 1、在操作明细帐时,摘要一栏中文全部显示为“问号”,查看凭证摘要正常显示中文。 2、过滤明细帐时,若勾选“按对方科目多条显示”,提示:“名称或代码在系统中已被使用”。详细: 错误代码:3604(E14H) Source :Microsoft

问题背景:

单位重装财务服务器,在装k3时安装界面为乱码,后将操作系统区域设置为中国,再次安装k3没有出现乱码。

 

问题描述:

1、在操作明细帐时,摘要一栏中文全部显示为“问号”,查看凭证摘要正常显示中文。

2、过滤明细帐时,若勾选“按对方科目多条显示”,提示:“名称或代码在系统中已被使用”。详细:

错误代码:3604(E14H)
Source :Microsoft OLE DB Provider for SQL Server
Detail :无法执行 varchar 值到 varchar 的隐式转换,原因是,由于排序规则冲突,该值的排序规则未经解析。
 

分析:

这两个问题可能是一个问题引起,排序规则冲突,master与k3数据库排序规则不一致。为什么不一致?初步估计是因为在装sql2005时操作系统区域设置为美国。

 

为什么明细帐摘要中文显示问号,而凭证显示正常呢?这个问题确实不好理解,可能k3在取明细帐摘要时用到了临时表之类的系统库资源(问题2应该是这个原因),也有可能是k3的这个控件有问题。

 

微软网站上有一段关于Master 数据库与用户定义的数据库的排序规则应一致的说明:

 

建议用户定义的数据库排序规则与 master 或 model 的排序规则一致。否则,可能会发生使代码无法执行的排序规则冲突。例如,当存储过程将一个表连接到一个临时表时,如果用户定义的数据库排序规则与 model 数据库的排序规则不同,SQL Server 可能会结束该批处理并返回一个排序规则冲突错误。出现这种情况的原因是临时表是在 tempdb 中创建的,而后者的排序规则基于 model 的排序规则。

原文:http://technet.microsoft.com/zh-cn/library/bb402915%28v=sql.105%29

 

如何更改master排序规则:

如果您必须更改 SQL Server 2005 实例的默认排序规则,则必须首先编写脚本或备份您的数据库、删除所有用户数据库,然后重新生成 master 数据库 — 在安装程序命令的 SQLCOLLATION 属性中指定新排序规则,如下所示:

start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine
REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=Chinese_PRC_CI_AS

 原文:http://msdn.microsoft.com/zh-cn/library/bb330962.aspx

 

经验:

1、装完操作系统一定要注意区域语言设置。哪怕装的是中文简体版。

2、检查时区设置。

3、mssql数据库要注意系统数据库与用户数据库的排序规则一致。

 

 

kingdee k3v12明细帐中文摘要“问号”与过滤时报错的原因分析

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
iOS 绘图时使用 UIGraphicsGetCurrentContext() 报错的原因分析 太阳火神的美丽人生 (http://blog.c
本文转自:点击打开链接 这里以Code::Blocks 10.5版本为蓝本进行说明。 首先,请在Code::Blocks里面
声明: 原创作品, 转载时请注明文章来自 SAP师太 技术博客( 博/客/园www.cnblogs.co
C:\Program Files\Koala\rubygems\gems\sass-3.4.9\lib\sass 这是我的koala的安装路径,在sass文件
前段时间某功能在测试机器上出现乱码,情况如下: 现象: 调试搜索功能时,通过doGet方法提交到后台的中
这里以Code::Blocks 10.5版本为蓝本进行说明。 首先,请在Code::Blocks里面输入标准的一个C程序: #
先来看一段程序: <pre name="code" class="vb">Imports System.Configuration '配置文件命名
这个问题解决办法很简单: 将 doGet或doPost的 response.setContentType("text/html"); 增加一点点
Tools->Option->Enable unicode support 打上钩。 有中文的页面CodeTemplate标记里加上Respon
Tools->Option->Enable unicode support 打上钩。 有中文的页面CodeTemplate标记里加上Respon
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号