解决Access错误 Selected collating sequence not supported by the operating system

很久以前在唐人街论坛写的一篇文章,自己最近在 Google 查了一下,发现被很多博客转载(不过他们没有注明出处,寒)。所以干脆,转到自己的博客里来算了,时间吗还是按当初发表的时间。

一直想把唐人街中文论坛搬到 1and1 服务器上来。今天总算有空将所有的文件上传来了,但试运行时却发现以下错误提示:
Selected collating sequence not supported by the operating system.

Google了一下,发现不止我一个人有这问题。主要原因是我现在用的这 web hosting 公司用的是英文操作系统英文版OS。论坛所用的 Access文件是动网所附的,言外之意是在中文操作系统下制作的。而根据微软(Microsoft)的官方网站说明:若Access在一种语言下创建,而在另一种语言下使用就会提示这种错误。我原来的 web hosting 公司是支持中文的,所以一直都没事。


微软的技术解释请参见 http://support.microsoft.com/kb//EN-US/

根据微软推荐的解决方法,我知道我是不可能让 1and1 安装多种语言支持包的 — 因为我曾经给他们技术支持部门打过此类电话(上次是问为什么我的Access中文显示成乱码),被告知他们不会特地为我安装中文包的。

看来这次有得自己动手、丰衣足食了。下面就是我解决此问题的一些过程。

既然微软说是由于建立数据库文件的语言环境的原因,那我是不是可以打开同一语言环境里新建的文件了?在此时,我所想到的“同一语言环境”是同一OS(操作系统)语言环境。因为我现在用的就是英文WinXP,应该是与我的新 web hosting 公司用的一种语言操作系统吧。为证实这个想法,新建一个 Access文件,然后将此新的 Access 文件上传到服务器上,发现照样出现上述问题。结论:不是操作系统的语言版本的问题。

继续找原因。既然我英文WinXP里建立的文件也不行,看来差异就在Access上了。我想我与服务器的差异大概就是我的XP已经装了中文语言支持,而这导致了Access在处理上有些不同。仔细再一读 Microsoft 的技术解释,好像他们提到了数据排序的问题(New Database Sort Order)。我马上打开我的Access程序,然后点”tools”–>”Options”,发现我的 New Database Sort Order 既然是 Chinese Character 而不是 General。现在明白了:问题就出在由于不同语言支持的Access新建的文件的默认排序不同。

为顺利解决我的问题:

  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. 保存此新文件,然后上传到服务器。
  4. 搞定!

谢谢 — 唐人街论坛版权所有 欢迎转载!

English Keywords: ASP, ACCESS, Chinese database on English Server

原文地址:唐人街论坛版

2 Responses to “解决Access错误 Selected collating sequence not supported by the operating system”

Leave a Reply

Your email address will not be published. Required fields are marked *