【问题标题】:Advantage Database Index Collation SequenceAdvantage 数据库索引整理顺序
【发布时间】:2013-02-14 08:57:48
【问题描述】:

我正在将一个 Delphi 程序从 BDE 转换为 Advantage 数据库。

周末我在使用 Delphi XE 的 Win 7 机器上工作。在这一周里,我在一台使用 Delphi 7 的 Win XP 机器上工作。

优势表在 Win 7 机器上工作正常,但复制到 XP 机器时无法访问 - Error 5175 the index was created with a different collation sequence

我已经搜索了网络,甚至进入了 Advantage 论坛,但找不到任何有用的信息。

XP 和 Win 7 在位置等方面设置相同。表格属性将排序顺序列为空白。

任何人都知道导致此问题的原因以及如何解决。我尝试删除并重新创建索引,但无济于事。

【问题讨论】:

  • 稍微打了个激灵。如果您尝试打开表格 Advantage Data Architect 而不仅仅是检查其属性,它会为您提供一个似乎可以解决问题的重新索引选项。所以我有一个解决方法。我还是想知道到底是什么问题。

标签: delphi indexing collation advantage-database-server codepages


【解决方案1】:

用于创建或打开索引文件的排序规则取决于为您要连接的remote server 或local server 配置的排序规则。

对于Advantage Local Server (ALS),可以在adslocal.cfg 配置文件中设置。

必须重新安装专用的Advantage Database Server (ADS) 才能更改排序规则,因为安装程序会将排序规则“烘焙”到服务器可执行文件中(至少据我所知)。

此外,如果您在安装 ADS 组件时选择<CURRENT SYSTEM LANGUAGE>(或类似名称),则不同操作系统版本和操作系统语言的排序规则会有所不同。这在帮助中有所描述:

  1. 强烈推荐第一个选项,它是确保所有连接的 ANSI 排序语言相同的更简单方法。安装 Advantage 数据库服务器和 Advantage 客户端时,请特别选择 ANSI 排序语言。确保为所有安装指定相同的 ANSI 语言。在 Advantage 客户端安装期间选择的 ANSI 排序语言将放置在 Advantage 本地服务器配置文件 ADSLOCAL.CFG 中。
  2. 如果您不想使用上述选项 1,请在安装 Advantage 数据库服务器和 Advantage 客户端时选择 ANSI 排序语言。仅当以下所有条件都为真时才选择。用于安装 Advantage 数据库服务器的所有计算机都应运行相同的 Windows 操作系统。运行连接到 Advantage 本地服务器的应用程序的计算机也应该运行相同的操作系统。除了操作系统相同之外,所有计算机都应使用相同的 ANSI 排序语言(通过区域设置图标指定)。

http://devzone.advantagedatabase.com/dz/webhelp/advantage10/master_avoiding_ansi_collation_mismatch_errors.htm

http://devzone.advantagedatabase.com/dz/webhelp/advantage10/index.html?error_5175_ae_index_collation_mismatch.htm

【讨论】:

  • 嗨,詹斯。对不起,我应该提到它的本地服务器。这意味着 adslocal.cfg 在两台机器上是不同的。我现在无法检查,因为我无法访问 Win 7 框,但我会在周末检查一下。目前尚不清楚(至少对我而言)为什么它们应该不同。两者都运行相同的安装程序。
  • @GrahamSaint 您在安装过程中选择了哪种排序规则?问题是,如果您选择“当前系统排序规则”,它会在操作系统版本和操作系统语言之间有所不同......所以您应该确保使用显式排序规则。
  • 您好 Jens,两台机器上的 adslocal.cfg 文件是相同的。我只是在安装时接受了默认设置,但显然这些在 Win 7 和 XP 中的工作方式不同。看来Win 7安装足够聪明,可以知道我有澳大利亚键盘,而XP只是看到我有英文键盘并假设为美国。当我有时间时,我将通过卸载并重新安装来验证这一点。感谢所有回复的人。
  • @GrahamSaint 不客气。当您在安装期间选择 <CURRENT SYSTEM LANGUAGE> 时,OS 版本(即 XP 和 7)之间的排序规则不同。我在答案中添加了相关文档的引用。
猜你喜欢
  • 1970-01-01
  • 2018-10-01
  • 2018-08-25
  • 2011-02-13
  • 2014-12-27
  • 1970-01-01
  • 1970-01-01
  • 2020-04-17
  • 2014-10-26
相关资源
最近更新 更多