Поделиться через


Таблица _Streams

В таблице _Streams перечислены внедренные потоки данных OLE. Это временная таблица, созданная только при ссылке на инструкцию SQL.

Столбец Тип Ключ Допустимое значение NULL
Имя текста Y N
Данные двоичного N Y

 

Столбцы

имя

Уникальный ключ, определяющий поток. Максимальная длина имени — 62 символа.

данные

Неформатированные двоичные данные.

Замечания

Чтобы скопировать поток данных OLE (например, объект типа данных Binary) из файла в базу данных, создайте запись в таблице _Streams и введите имя потока данных в столбец Name этой записи и скопируйте данные из файла в столбец данных с помощью MsiRecordSetStream. Используйте MsiViewModify для вставки новой записи в таблицу.

Чтобы прочитать двоичный поток данных, внедренный в базу данных, используйте SQL-запрос для поиска и получения записи, содержащей двоичные данные. Используйте MsiRecordReadStream для чтения двоичных данных в буфер.

Чтобы переместить двоичный поток данных из одной базы данных в другую, сначала экспортируйте данные в файл. Используйте SQL-запрос, чтобы найти поток данных в файле и использовать MsiRecordSetStream для копирования данных из файла в столбец данных _Streams таблицы второй базы данных. Это гарантирует, что каждая база данных имеет собственную копию двоичных данных. Двоичные данные из одной базы данных нельзя переместить в другую, просто извлекая запись с данными из первой базы данных и вставляя их во вторую базу данных.

Чтобы удалить поток данных, получите запись и задайте для столбца данных значение NULL перед обновлением записи. Другой способ — удалить запись из таблицы, удалив ее с помощью MsiViewModify или обычного SQL-запроса. Поток не должен быть получен в запись, если поток удаляется из таблицы.

Чтобы переименовать поток данных OLE, обновите столбец "Имя" записи.

Если удержание помещается в эту таблицу с помощью SQL (ALTER TABLE)

HOLD) или столбец добавляется с помощью HOLD, таблица должна быть выпущена с помощью FREE. Потоки не записываются, пока таблица не будет освобождена или зафиксирована.