Compartir a través de


Tabla _Streams

En la tabla _Streams se enumeran los flujos de datos OLE insertados. Se trata de una tabla temporal, que solo se crea cuando se hace referencia a ella mediante una instrucción SQL.

Columna Tipo Clave Nullable
Nombre Texto Y No
data Binario No Y

 

Columnas

Nombre

Clave única que identifica la secuencia. La longitud máxima del Nombre es de 62 caracteres.

Datos

Datos binarios sin formato.

Comentarios

Para copiar un flujo de datos OLE (por ejemplo, un objeto del tipo de datos Binario) de un archivo en una base de datos, cree un registro en la tabla _Streams y escriba el nombre del flujo de datos en la columna Nombre de este registro y copie los datos del archivo en la columna Datos mediante MsiRecordSetStream. Use MsiViewModify para insertar el nuevo registro en la tabla.

Para leer un flujo de datos binario insertado en una base de datos, use una consulta SQL para buscar y capturar el registro que contiene los datos binarios. Use MsiRecordReadStream para leer los datos binarios en un búfer.

Antes de mover un flujo de datos binario de una base de datos a otra, exporte los datos a un archivo. Use una consulta SQL para buscar el flujo de datos en el archivo y use MsiRecordSetStream para copiar los datos del archivo en la columna Datos de la tabla _Streams de la segunda base de datos. Esto garantiza que cada base de datos tenga su propia copia de los datos binarios. No se pueden mover datos binarios de una base de datos a otra con una simple captura de un registro con los datos de la primera base de datos y su inserción en la segunda base de datos.

Para eliminar un flujo de datos, capture el registro y establezca la columna Datos en NULL antes de actualizar el registro. Otro método consiste en quitar el registro de la tabla y eliminarlo mediante MsiViewModify o una consulta SQL sin formato. No se debe capturar una secuencia en un registro si la secuencia se elimina de la tabla.

Para cambiar el nombre de un flujo de datos OLE, actualice la columna "Nombre del registro.

Si se coloca una suspensión en esta tabla mediante SQL (ALTER TABLE

HOLD) o se agrega una columna con HOLD, la tabla debe liberarse mediante FREE. Las secuencias no se escriben hasta que se haya publicado o confirmado la tabla.