Таблица _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. Потоки не записываются, пока таблица не будет освобождена или зафиксирована.