令Axosoft PowerTrack支持中文

类别:数据库 点击:0 评论:0 推荐:

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

本文地址:http://com.8s8s.com/it/it19732.htm