令Axosoft PowerTrack支持中文-数据库专栏,SQL Server
来源:作者: 发布时间:2007-12-25 13:42:54


axosoft powertrack是个有意思的vs.net add-in。他能够让您自己对自己的工作内容编写记录,错误登记,修改流程等,并且支持工作流、附件、截图……总之和td很相象。由于是直接集成到了vs.net当中,使用起来相当顺手,后台使用sql服务器,则天生支持多用户。(能够到http://www.axosoft.com去下载试用版本)
powertrack的最新版本是4.2.6.0,但这个版本有个问题就是不支持中文,任何输入的中文再显示出来就成了问号。研究后发现问题的根源是:powertrack创建数据库的时候,给数据库定义的collation是拉丁语(sql_latin1_general_cp1_ci_as),当然是无法记录中文。解决的方法很简单,将powertrack数据库当中任何以sql_latin1_general_cp1_ci_as定义的column修改为中文就ok了。……怎么发现的?进到数据库当中找个表(例如user那个),写个lastname为中文,保存后您就看到一堆???出现了。
但,问题解决起来并不是一步两步就完成的是。
首先,sql2000当中可在design界面当中对column选择的collation当中没有中文(指sql collation):
解决的手段是换windows collation为指定的chinese_prc,默认是binary sort。在sql2000当中这个collation的正式叫法是chinese_prc_bin,一般我习惯使用这个设定(但是据说按此配置的数据库不能用mom检控……悬念)。
但是先别忙改,假如您就这么改了,很可能出现:一、powertrack仍然会将中文显示为???;二、修改过的表无法再用enterprise manager打开了,说和数据库collation存在conflct!因为powertrack是将table当中的collation设定为database default……
因此,接下来怎么更换的问题还得费一番周转。
1. 在您的sql2000服务器上手工建一个空库,记得建库的时候把collation设定为chinses_prc_bin;
2. 将powertrack创建的那个数据库的内容倒到新库中来。注意把use collation那项清除;更有就是无论是否有sample数据,都要连数据一快儿来;
3. 导库ok后,打开新库,运行一下以下的脚本
exec sp_configure allow updates,1 reconfigure with override exec sp_configure go
update syscolumns set collationid=65572 where collationid=872468488 go
exec sp_configure allow updates,0 reconfigure with override exec sp_configure go
这段sql的用途就是将新库当中任何使用collation为sql_latin1_general_cp1_ci_as的字段设定其collation为chinses_prc_bin。
接下来再使用powertrack打开新库,就能够输入和输出中文了……
其实这个方法还是挺土的,毕竟要倒一次库……但是我现在没有找到怎样直接将database default设定的collation修改为指定的windows collation内容……还望哪位知道的指教一下
|
还没有关于此文章的相关评论!