Compartir a través de


SqlFileStream Clase

Definición

Expone los datos de SQL Server que se almacenan con el atributo de columna FILESTREAM como una secuencia de bytes.

public ref class SqlFileStream sealed : System::IO::Stream
public sealed class SqlFileStream : System.IO.Stream
type SqlFileStream = class
    inherit Stream
Public NotInheritable Class SqlFileStream
Inherits Stream
Herencia
SqlFileStream

Comentarios

La SqlFileStream clase se usa para trabajar con varbinary(max) datos almacenados con el atributo FILESTREAM en una base de datos de SQL Server 2008. Debe instalar .NET Framework 3.5 SP1 (o posterior) para usar SqlFileStream para trabajar con datos FILESTREAM.

Si se especifica el atributo FILESTREAM en una varbinary(max) columna, SQL Server almacenar los datos en el sistema de archivos NTFS local en lugar de en el archivo de base de datos. Las instrucciones Transact-SQL proporcionan funcionalidades de manipulación de datos dentro del servidor y las interfaces del sistema de archivos Win32 proporcionan acceso de streaming a los datos.

Nota:

Los archivos individuales almacenados en una columna FILESTREAM no se pueden abrir directamente desde el sistema de archivos NTFS. Los datos filestream de streaming solo funcionan en el contexto de una transacción de SQL Server.

La SqlFileStream clase se deriva de la Stream clase , que representa una abstracción de una secuencia de bytes de algún origen de datos arbitrario, como un archivo o un bloque de memoria. Puede leer desde un FILESTREAM transfiriendo datos de una secuencia a una estructura de datos, como una matriz de bytes. Puede escribir en un FILESTREAM transfiriendo los datos de una estructura de datos a una secuencia. También puede buscar dentro de la secuencia, lo que le permite consultar y modificar datos en la posición actual dentro de la secuencia.

Para obtener documentación conceptual y ejemplos de código, consulte FILESTREAM Data.

Para obtener documentación sobre cómo configurar y configurar datos de FILESTREAM en SQL Server, consulte Diseño e implementación del almacenamiento de FILESTREAM en SQL Server libros en pantalla de 2008.

Constructores

SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)

Inicializa una nueva instancia de la clase SqlFileStream.

SqlFileStream(String, Byte[], FileAccess)

Inicializa una nueva instancia de la clase SqlFileStream.

Propiedades

CanRead

Obtiene un valor que indica si la secuencia actual admite lectura.

CanSeek

Obtiene un valor que indica si la secuencia actual admite búsquedas.

CanTimeout

Obtiene un valor que indica si se puede agotar el tiempo de espera de la secuencia actual.

CanWrite

Obtiene un valor que indica si la secuencia actual admite escritura.

Length

Obtiene un valor que indica la longitud de la secuencia actual en bytes.

Name

Obtiene la ruta de acceso lógica del SqlFileStream pasado al constructor.

Position

Obtiene o establece la posición en la secuencia actual.

ReadTimeout

Obtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de lectura antes de que se agote el tiempo de espera.

TransactionContext

Obtiene o establece el contexto de transacción para este objeto SqlFileStream.

WriteTimeout

Obtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de escritura antes de que se agote el tiempo de espera.

Métodos

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Comienza una operación de lectura asincrónica.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Comienza una operación de escritura asincrónica.

EndRead(IAsyncResult)

Espera a que se complete la lectura asincrónica que se encuentra pendiente.

EndWrite(IAsyncResult)

Finaliza una operación de escritura asincrónica.

Finalize()

Destructor del objeto de clase SqlFileStream.

Flush()

Borra todos los búferes para esta secuencia y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente.

Read(Byte[], Int32, Int32)

Lee una secuencia de bytes en el flujo actual y avanza la posición en el flujo según el número de bytes leídos.

ReadByte()

Lee un byte de la secuencia y hace avanzar la posición de la secuencia en un byte, o devuelve -1 si está al final de la secuencia.

Seek(Int64, SeekOrigin)

Establece la posición en el flujo actual.

SetLength(Int64)

Establece la longitud del flujo actual.

Write(Byte[], Int32, Int32)

Escribe una secuencia de bytes en la secuencia actual y avanza la posición actual en esta secuencia según el número de bytes escritos.

WriteByte(Byte)

Escribe un byte a la posición actual en la secuencia y avanza la posición de la secuencia en un byte.

Se aplica a

Consulte también