运行语言环境可能影响数据库数据

这次的项目涉及对一个xls文件的修改。由于甲方所给的虚拟机几乎只装了一个vs2008(再次强烈bs这个虚拟机的制作方),所以很自然的,我便把这个xls文件拖到我的host机的win7系统下修改,再拖回去覆盖原有文件。很快我就发现这样在编译时会报错,一开始我的想法是会不会是我在修改的时候改掉了这个数据库的时间戳,而由于这是一个商用程序,很可能有较严密的防修改措施,而使其通不过。于是费尽周折,把这个xls先导成xml文件,改掉时间戳后再导回xls,但是这样一来文件仅从大小上来看就小了不少,一运行,确实还是会报错。
后来,我发现,即使是我打开原xls,什么都不改,仅仅ctrl+s一下再关掉,都会发生异常情况。这让我更加恼火。一怒之下,我决定顺着程序原代码一路找下去(跨了三个工程),看看到底哪里出了问题,经过手工调试(因为不在主工程里面,只能悲剧的一步步打printf(),我发现,数据库的connect是可以成功的,这排除了我关于时间戳出错的推测,但在运行sql查询语句的时候却似乎没有了音讯(再次BS一下sql的查询,为空的时候不报异常而是仅仅返回一个false),这启发了我,会不会是我运行的win7中文版excel改变了其数据库数据的编码之类的东西(虚拟机是英文版xp),导致其查询时查询不到想要的结果,于是在虚拟机下装了个英文版的office,问题终于得到了解决.

发表评论

电子邮件地址不会被公开。 必填项已用*标注