工作流程系统数据库软件会对您可以在工作流程字段中存储的数据量设置限制。这些限制既特定于字段,又针对记录进行累积。
下表描述了由特定版本的 Microsoft SQL Server、Oracle 和 DB2® 设置的限制。
数据类型字符串的每个字段的字符数* | 每个数据库行(记录)的数据的字节数 | 每个数据库表的最大列数† | |
---|---|---|---|
Microsoft SQL Server 2012 | 4000(数据类型 nvarchar) | 8060 | 1024 |
Oracle 11g | 每列 4000* 个字节 | 未定义限制 | 1000 |
DB2 | 16,336 个 vargraphic 双字节字符 您不能定义其中包含的字节数超过行大小的 DB2 表。 |
变量 行大小由所定义的表空间页大小确定。如果页大小为 32K,那么行大小为 32,677 |
1012 |
* 工作流程系统使用基于字符的字符串。如果您使用多字节字符集(例如,AL32UTF8),那么表中列示的最大字节数不一定等同于最大字符数。要确定字符串中接近于最大多字节字符数,就要查找每个字符的平均字节数,该字节数取决于您的数据库中所使用的语言。这样,根据每个字符的平均字节数划分每列 (4000) 的最大字节数。例如,对于每个字符的 3 个字节的平均数:4000/3 或近似于 1333。
† 每个数据库表的最大列数包括每个工作流程登记簿、队列和事件日志必需的工作流程系统字段。
†† 当配置对象或工作项的 BLOB 大小超过所定义的最大大小的 95% 时,工作流程系统会在系统事件日志中记录一条警告消息。
对于 BLOB 列,数据并不存储在行中,而是存储在数据库的另一个区域。只有数据的地址存储在行中。此地址并不会显著影响可以存储在行中的实际数据的最大数量。因此,未公开的数据字段的大小(以及总的行大小)可以大于建议的限制。