如何处理字符变量,长于允许的最大值2000?



我正在使用Progress-4GL, appBuilder和程序编辑器,发布11.6。

我刚刚发现了一个CHARACTER类型的全局变量(DEF VAR global_variable AS CHAR NO-UNDO.),包含多达12901个字符。该变量仅用于在应用程序中传递信息,这些信息永远不会存储为表中的一个元组。

变量中的信息似乎处理得很好:内容是正确的。

然而,正如这个URL提到的,Progress中的字符变量的最大长度是2000个字符,这让我担心:我担心有一天,另一个限制可能会被跨越,从那一刻起,我们需要重新考虑整个想法,我想为那一天做好准备。

那么,有没有人知道"下一步"呢?进度中字符变量的长度限制?

您提到的参考指向SQL的限制。

在ABL中,一个CHARACTER变量可以保存~ 32k

DEFINE VARIABLE c AS CHARACTER   NO-UNDO.
ASSIGN c = FILL ("*", 31000) . 
MESSAGE LENGTH (c) 
VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.

除此之外,你必须使用LONGCHAR和它的局限性:

  • 略慢
  • 不能在临时表或数据库表中索引。

CHARACTER变量总是存储在CPINTERNAL代码页中。LONGCHAR可以通过FIX-CODEPAGE语句使用不同的代码页。

相关内容

  • 没有找到相关文章

最新更新