不废话,直接到主题,小龙发现数据库不能启动,现状就是,在使用前面的两篇文章制作的精简版的时候,出现问题是:当程序在中文路径下运行,MySQL运行不起来。
经过检查,是程序中写INI文件的时候,编码方式使用的是默认的编码方式,根据操作系统而言,一般都是UTF8,从而使得BaseDir和DataDir的文本为乱码。MySQLD不能正确启动。
这个问题的解决方式很简单,在上一篇文章的代码中,修改如下代码
ShowMessage("重置数据库配置信息...");
string strContent=DEFAULT_MY_INI_MAX
.Replace(PortSymbol, "" + this.Port)
.Replace(BaseDirSymbol, "\"" + this.MySQLBaseDir.Replace('\\', '/') + "\"")
.Replace(DataDirSymbol, "\"" + this.MySQLDataDir.Replace('\\', '/') + "\"")
;
File.WriteAllText(strIniFileName,
strContent
,System.Text.Encoding.Default);//Bug Fixed 2010-03-01, add encoding to avoid Chinese characters error.
解决这个问题的解决方案倒是非常简单,但是过程的确值得玩味。
先说一点别的,Jason解决客户的一个A级别的缺陷,作为一个啥也不懂的童鞋,我抱着关心的态度——其实是上头在催我,我只能催下面的兄弟了——我过去和Jason聊了一聊,我的目的本身是找点说辞给我的上头的老大,所以就让Jason说了一下现状。在这个过程中,我似乎捕捉到一点信息,Jason可能遗漏了去核对那块信息。我提出了我的肤浅的看法,Jason直接去找了另外部门的人,事实令人鼓舞。虽然问题到现在还是没有解决,但是已经将这个问题转移到了别的部门去,那里才是这个问题的归属。
从昨天大年爆出MySQL的中文路径问题,今天我一直在做测试,也让兄弟们做了一下测试,事实还是不行。下午Kevin到我的座位上来,我说起这个事情,还开玩笑的说,“也许你能给我带来幸运”,果然,虽然Kevin没有做任何事情,但是我解决了这个问题。
这能说明什么?黄健翔当年吼吼的,你不是一个人在战斗啊。
具体的情形,请参考Scrum的Code Review和Pair Working。也许是个好主意