太久没更新这个Blog了,不是不想写,只是平时接触到的ASP编程几乎都是背书状态,没什么创意的Coder工作,没有新意,也没什么感悟,无从写起啊..搞得靳田兄把我的链接去掉都不好意思答复了。对此先对靳田兄说声抱歉。
正题,这几天接了个小系统写,写的过程还是那无创意的背书状..不过,在使用时却遇到一个奇怪的问题。客户用的是英文操作系统英文版的IIS。程序运行到Conn.execute(..)时居然提示:
Selected collating sequence not supported by the operating system.
(交货时拍着胸脯说我的程序绝对没问题,开始脸红了。呵呵。)
用baidu搜了一下,也有不少人遇到这种情况。其中在csdn的一个提问(http://search.csdn.net/Expert/topic/799/799654.xml?temp=.6843073)里查到了错误提示的原因。大至上是说,Access在一种语言下创建,而在另一种语言下使用才会提示这种错误,具体没说是为什么(可能是说了,不过我的英文太烂了没看懂而以。)。知道问题的大至所在,就有了解决的方向了。
为了证实这种说法的正确,我写了一个简单的DataConn文件。连接我建的Access数据库,错误提示一就不变"Selected collating sequence not supported by the operating system."。当连接一个和服务器环境一样的系统里创建的Access,却没提示,一切正常,这就说明了问题的所在。至于为什么..我还是没明白,不过,这次的目的是让系统运行起来。
我的解决方案:将能正常使用的Access上传到服务器上,然后清掉其无关的表(因为这个数据库是在用另一个程序里的,所以残留有一些表)。然后直接用SQL将我数据库里的表创建到现在的Access里。现在系统正常运行,任务完成。
不过我知道这种方法只能见招拆招,对于发布全球共享程序的作者来说,这种问题将会是一大障碍,应该会有一种万全的解决方式。只是.我还不知道..有待解决啊...