流上的 OLE 限制

安装数据库的开发人员需要注意 Win32 OLE 结构化存储实现处理流的两个限制。 这些限制可以通过转换和其他可能作为流存储在数据库中的数据间接影响安装程序功能。

有两个相关的限制:

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