Username: Password:

令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内容……还望哪位知道的指教一下

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅