_Storages表

_Storages表列出了嵌入的 OLE 数据存储。 这是一个临时表,仅在 SQL 语句引用时创建。

类型 钥匙
名字 文本 Y N
数据 二进制 N Y

 

名称

标识存储的唯一密钥。 名称的最大长度为 31 个字符。

数据

未格式化的二进制数据。

言论

若要将 OLE 存储添加到数据库,请在_Storages表中创建新记录,并将存储的名称输入到“名称”列中。 使用 MsiRecordSetStream 将数据复制到此记录的数据列中。 最后,使用 MsiViewModify 将记录插入_Storages表中。

无法从_Storages表中读取数据。 但是,可以查询_Storages表以检查是否存在特定存储。 这意味着无法将 OLE 存储从一个数据库移到另一个数据库。 必须改为将原始存储文件导入新数据库。若要删除 OLE 存储,请提取包含二进制数据的记录,将_Storages表中的“数据”列设置为 null,然后更新记录。 另一种方法是仅使用 MsiViewModify 或纯 SQL 查询删除记录。

若要重命名 OLE 存储,请更新记录的“名称”列。

如果使用 SQL 将此表保留(ALTER TABLE)

HOLD) 或列是使用 HOLD 添加的,必须使用 FREE 释放表。 在释放或提交表之前,不会写入存储。