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

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 trabajar SqlFileStream 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 de 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 mediante la transferencia de 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( Datos de FILESTREAM).

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

Constructores

SqlFileStream(String, Byte[], FileAccess)

Inicializa una nueva instancia de la clase SqlFileStream.

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

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.

Close()

Cierra la secuencia actual y libera todos los recursos (como sockets e identificadores de archivo) asociados a esta. En lugar de llamar a este método, asegúrese de que la secuencia se desecha correctamente.

(Heredado de Stream)
CopyTo(Stream)

Lee los bytes de la secuencia actual y los escribe en otra secuencia de destino. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados.

(Heredado de Stream)
CopyTo(Stream, Int32)

Lee todos los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados.

(Heredado de Stream)
CopyToAsync(Stream)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados.

(Heredado de Stream)
CopyToAsync(Stream, CancellationToken)

Lee de forma asincrónica los bytes de la secuencia actual y los escribe en otra secuencia mediante un token de cancelación especificado. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados.

(Heredado de Stream)
CopyToAsync(Stream, Int32)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados.

(Heredado de Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, utilizando el tamaño de búfer y el token de cancelación especificados. Ambas posiciones de secuencias están avanzadas por el número de bytes copiados.

(Heredado de Stream)
CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
CreateWaitHandle()
Obsoletos.
Obsoletos.
Obsoletos.

Asigna un objeto WaitHandle.

(Heredado de Stream)
Dispose()

Libera todos los recursos que usa Stream.

(Heredado de Stream)
Dispose(Boolean)

Libera los recursos no administrados que usa Stream y, de forma opcional, libera los recursos administrados.

(Heredado de Stream)
DisposeAsync()

Libera de forma asincrónica los recursos no administrados usados por Stream.

(Heredado de Stream)
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.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Garantiza que se liberen los recursos y se realicen otras operaciones de limpieza cuando el recolector de elementos no utilizados reclama SqlFileStream.

Flush()

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

FlushAsync()

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

(Heredado de Stream)
FlushAsync(CancellationToken)

Borra asincrónicamente todos los búferes de esta secuencia, y hace que todos los datos almacenados en búfer se escriban en el dispositivo subyacente y supervisa las solicitudes de cancelación.

(Heredado de Stream)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ObjectInvariant()
Obsoletos.

Proporciona compatibilidad con una clase Contract.

(Heredado de Stream)
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.

Read(Span<Byte>)

Cuando se reemplaza en una clase derivada, se lee una secuencia de bytes en la secuencia actual y se hace avanzar la posición dentro de la secuencia el número de bytes leídos.

(Heredado de Stream)
ReadAsync(Byte[], Int32, Int32)

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

(Heredado de Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación.

(Heredado de Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación.

(Heredado de Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Lee al menos un número mínimo de bytes de la secuencia actual y avanza la posición dentro de la secuencia por el número de bytes leídos.

(Heredado de Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Lee de forma asincrónica al menos un número mínimo de bytes de la secuencia actual, avanza la posición dentro de la secuencia por el número de bytes leídos y supervisa las solicitudes de cancelación.

(Heredado de Stream)
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.

ReadExactly(Byte[], Int32, Int32)

count Lee el número de bytes de la secuencia actual y avanza la posición dentro de la secuencia.

(Heredado de Stream)
ReadExactly(Span<Byte>)

Lee bytes de la secuencia actual y avanza la posición dentro de la secuencia hasta buffer que se rellena.

(Heredado de Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Lee de forma asincrónica el count número de bytes de la secuencia actual, avanza la posición dentro de la secuencia y supervisa las solicitudes de cancelación.

(Heredado de Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Lee de forma asincrónica bytes de la secuencia actual, avanza la posición dentro de la secuencia hasta buffer que se rellena y supervisa las solicitudes de cancelación.

(Heredado de Stream)
Seek(Int64, SeekOrigin)

Establece la posición en el flujo actual.

SetLength(Int64)

Establece la longitud del flujo actual.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
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.

Write(ReadOnlySpan<Byte>)

Cuando se reemplaza en una clase derivada, se escribe una secuencia de bytes en la secuencia actual y se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos.

(Heredado de Stream)
WriteAsync(Byte[], Int32, Int32)

Escribe asincrónicamente 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.

(Heredado de Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación.

(Heredado de Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación.

(Heredado de Stream)
WriteByte(Byte)

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

Métodos de extensión

CopyToAsync(Stream, PipeWriter, CancellationToken)

Lee de forma asincrónica los bytes de Stream y los escribe en el elemento PipeWriter especificado, mediante un token de cancelación.

Se aplica a

Consulte también