我在我们的一个应用程序服务器日志中收到错误“包含 CONTAINS 的无效查询”。该服务昨天没有遇到此错误,我不知道我们的代码中可能发生了任何更改。
任何人都可以深入了解在我们的代码之外可能导致此错误的原因吗?
我在我们的一个应用程序服务器日志中收到错误“包含 CONTAINS 的无效查询”。该服务昨天没有遇到此错误,我不知道我们的代码中可能发生了任何更改。
任何人都可以深入了解在我们的代码之外可能导致此错误的原因吗?
1) CONTAINS 运算符使用单词索引。检查是否为错误查询正确设置了索引。
2) 如果在一个很大的 CHARACTER 字段上定义了单词索引,您可以考虑增加 Stash Area (-stsh) 启动参数的值。
3) 您还可以尝试使用带有 IDXBUILD 或 IDXFIX 限定符的 PROUTIL 实用程序来重建索引。
这是由 Progress ABL 还是您的逻辑产生的错误?你有一个进度错误号码吗?
您是否更改了数据库的编码?CONTAINS 运算符依赖于分词规则,如果您更改数据库的编码(例如更改为未定义分词规则的 UTF-8),您可能会遇到 CONTAINS 运算符不再工作而无需更改任何内容代码。如果是这种情况,您必须生成分词规则。但这只是一个猜测。