有关流的 OLE 限制

安装数据库的开发人员需要了解在 Win32 OLE 结构化存储实现中处理流时的两个限制。 在对数据库中存储的转换和其他数据进行流式传输时,这些限制可能会间接影响安装程序功能。

有两个相关限制:

  • 二进制数据与一个索引名称一起存储,该索引名称是通过以下方式创建的:使用句点作为分隔符将表名与记录的主键值串联起来。 OLE 将流名称限制为 32 个字符(31 + null 终止符)。 Windows Installer 使用一种压缩算法,可以根据字符将限制扩展为 62 个字符。 请注意,双字节字符计数为 2。
  • 尽管可以一次打开多个流,但在第一个引用关闭之前,无法再次打开流。 这意味着你不能选择同时在多条记录中打开相同的二进制数据流。 尝试从第二条记录读取二进制数据将失败。 此外,当记录中的二进制数据流处于打开状态时,无法重命名该记录的主键。