mdb文件在英文系统下无法打开的问题。。。

软件没有测试就一定有BUG--真是至理名言阿,这不,我给客户做的一个韩文软件,由于自己想当然的认为做过很多类似的多国语言软件了,不会有问题的。。。结果,客户在英文版WindowsXP下一用,竟然会崩溃!!。。。立马怀疑是客户人品不好,让对方换台机器试试,结果还是崩溃。。换成中文版的WindowsXP就一点问题都没有。
哎,就算真是客户人品不好,也要帮别人解决阿,于是网上一顿好找,总算在VeryCD上找到了英文的WindowsXP,在虚拟机里装上了,安装我的程序,运行,崩溃倒是没有,但是出现一段“Selected collating sequence not supported by the operating system”的错误信息,并且任何mdb文件都无法打开。。总算意识到,客户是无辜的。
在Google里很快就找到有人遇到过这样的问题,照着这篇文章的说法,把mdb文件都修改了一边,总算好了。。


问题的产生:

一套中文下开发的软件,翻译成英文,在从数据库查询时

UserRst.Open 
" Select COUNT(UserName) As CNT From UserTable " , ADOCnOP, adOpenStatic, adLockOptimistic, adCmdUnknown

在连接一个数据库时

UserRst.Open 
" SELECT * FROM UserTable WHERE UserName = ' "   &  txtUserName.Text  &   " ' " , ADOCnOP, adOpenStatic, adLockOptimistic, adCmdUnknown

出现这个错误提示

Selected collating sequence not supported by the operating system

尝试解决:

          一开始以为排序方式不被英文系统支持,但是看代码并无特殊排序,排序应该没问题。在英文系统下浏览中文网站时,IE弹出安装中文Language Pack的对话框,安装后再试程序轻松通过。看来是语言系统的问题,但我们总不能给用户安装一个中文语言包,(那太强盗逻辑了),而且后来我们发现从微软网站下载的语言包并不支持在WinXP下安装。最后把问题定位在数据库本身上,可能数据库中使用了某些中文信息,再回头看微软的技术解释,看来是MDB文件默认的排序方式有问题,打开数据库-
> 工具- > 选项- > 常规 有新建数据库排序次序 明显的是汉语拼音。问题就在这里。

解决方法一:

         选择排序次序为常规,然后选择关闭时压缩数据库,或者自己手动压缩,必须压缩数据库否则不能修改这个排序方式,以后新建的数据库也使用这中排序方式。

          重新在英文系统下连接数据库,顺利通过。

解决方法二:

1 )、打开我的 Microsoft Access ,Open 任意一个文件,然后点 " tools " ,选中 Options,再选 General 项。注意在右下方有 New Database Sort Order下拉框,选中 General。然后关掉该文件。(注意,Options只有在有文件打开的状况下才能使用)
2 )、然后 " File "   -->   " New... "  创建一个空白数据文件,然后 " file "   -->   " Get External Data "   --   " Import " ,打开我的老数据库文件将所有的 tables 全部传到新文件来,然后保存新文件。我要做这步是因为我的论坛里已经有许多的数据在里面,我不愿从头再来。如果你在新建论坛,或新建系统时遇到此类问题,大可新建 table,或用 SQL query 写入初始数据。
3 )、保存此新文件,然后上传到服务器。 

测试阿,测试,多么重要的测试阿,偏偏自己最近懒得出奇,经常犯这样的错误。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值