tabla de _Streams

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

Columna Tipo Clave Nullable
NOMBRE Texto S N
data Binario N S

 

Columnas

Nombre

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

Datos

Datos binarios sin formato.

Observaciones

Para copiar un flujo de datos OLE (por ejemplo, un objeto del tipo de datos Binary ) 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 incrustado en una base de datos, use una consulta de SQL para buscar y capturar el registro que contiene los datos binarios. Use MsiRecordReadStream para leer los datos binarios en un búfer.

Para mover un flujo de datos binario de una base de datos a otra, primero exporte los datos a un archivo. Use una consulta de SQL para buscar el flujo de datos en el archivo y use MsiRecordSetStream para copiar los datos del archivo en la columna Datos de _Streams tabla 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 simplemente mediante la captura de un registro con los datos de la primera base de datos e insertarlos 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, eliminándolo mediante MsiViewModify o una consulta de 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 "Name" del registro.

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

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