进度错误:使用CONTAINS的查询无效

时间:2012-10-17 15:58:25

标签: progress-4gl openedge progress-db

我在其中一个应用程序服务器日志中收到错误“使用CONTAINS进行无效查询”。昨天这个服务没有遇到这个错误,我不知道我们的代码中可能有任何变化。

任何人都可以在我们的代码之外了解可能导致此错误的原因吗?

2 个答案:

答案 0 :(得分:1)

1)CONTAINS运算符使用单词索引。检查是否为错误查询正确设置了索引。

2)如果在CHARACTER字段上定义了单词索引,则可以考虑增加Stash Area(-stsh)启动参数的值。

3)您还可以尝试使用带有IDXBUILD或IDXFIX限定符的PROUTIL实用程序重建索引。

答案 1 :(得分:0)

这是Progress ABL还是您的逻辑产生的错误?你有没有进度错误号?

您是否更改了数据库的编码? CONTAINS运算符依赖于分词规则,如果您更改数据库的编码(例如更改为没有定义分词规则的UTF-8),您可能会遇到CONTAINS运算符不再工作而不更改码。如果是这种情况,您必须生成分词规则。但这只是猜测。