_Storages 表
_Storages 表列出嵌入的 OLE 数据存储。 这是一个临时表,仅在 SQL 语句引用时才创建。
列 | 类型 | 密钥 | Nullable |
---|---|---|---|
名称 | 文本 | Y | N |
数据 | 二进制 | N | Y |
列
-
Name
-
标识存储的唯一键。 名称的最大长度为 31 个字符。
-
Data
-
无格式的二进制数据。
备注
若要将 OLE 存储添加到数据库,请在 _Storages 表中创建新记录,并在 Name 列中输入存储的名称。 使用 MsiRecordSetStream 将数据复制到此记录的 Data 列中。 最后,使用 MsiViewModify 将记录插入到 _Storages 表中。
无法从 _Storages 表读取数据。 但是,可以查询 _Storages 表以检查是否存在特定存储。 这意味着无法将 OLE 存储从一个数据库移到另一个数据库。 必须改为将原始存储文件导入新数据库。若要删除 OLE 存储,请提取包含二进制数据的记录,将 _Storages 表中的 Data 列设置为 null,然后更新记录。 另一种方法是仅使用 MsiViewModify 或普通 SQL 查询删除记录。
若要重命名 OLE 存储,请更新记录的 Name 列。
如果使用 SQL (ALTER TABLE HOLD) 对此表进行保留
或使用 HOLD 添加列,必须使用 FREE 释放该表。 在释放或提交表之前,不会写入存储。