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

本文描述了在一个特定的商用程序中遇到的问题:当修改一个xls文件后,程序会出现异常。通过排除时间戳错误的可能性,并对比不同操作系统下Excel的差异,最终确定问题是由Win7中文版Excel对数据库编码的影响导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值