SqlFileStream Constructores

Definición

Inicializa una nueva instancia de la clase SqlFileStream.

Sobrecargas

Nombre Description
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.

Comentarios

En la tabla siguiente se enumeran los permisos de seguridad de acceso de código (CAS) que todos los autores de llamada de la pila deben tener para usar los SqlFileStream constructores.

Acceso a archivos Permiso
Read Read
Escribir Write
Lectura y escritura. Read y Write

Para obtener más información sobre CAS, consulte Code Access Security and ADO.NET.

SqlFileStream(String, Byte[], FileAccess)

Inicializa una nueva instancia de la clase SqlFileStream.

public:
 SqlFileStream(System::String ^ path, cli::array <System::Byte> ^ transactionContext, System::IO::FileAccess access);
public SqlFileStream(string path, byte[] transactionContext, System.IO.FileAccess access);
new System.Data.SqlTypes.SqlFileStream : string * byte[] * System.IO.FileAccess -> System.Data.SqlTypes.SqlFileStream
Public Sub New (path As String, transactionContext As Byte(), access As FileAccess)

Parámetros

path
String

Ruta de acceso lógica al archivo. La ruta de acceso se puede recuperar mediante la función pathname de Transact-SQL en la columna FILESTREAM subyacente de la tabla.

transactionContext
Byte[]

Contexto de transacción del SqlFileStream objeto. Las aplicaciones deben devolver la matriz de bytes devuelta llamando al método GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Modo de acceso que se va a usar al abrir el archivo. Los valores de enumeración admitidos FileAccess son Read, Writey ReadWrite.

Cuando se usa FileAccess.Read, el SqlFileStream objeto se puede usar para leer todos los datos existentes.

Cuando se usa FileAccess.Write, SqlFileStream apunta a un archivo de bytes cero. Los datos existentes se sobrescribirán cuando se cierre el objeto y se confirme la transacción.

Cuando se usa FileAccess.ReadWrite, SqlFileStream apunta a un archivo que tiene todos los datos existentes en él. El identificador se coloca al principio del archivo. Puede usar uno de los System.IOSeek métodos para mover la posición de identificador dentro del archivo para escribir o anexar nuevos datos.

Excepciones

path es una referencia nula o transactionContext es null.

path es una cadena vacía (""), contiene solo espacios en blanco o contiene uno o varios caracteres no válidos.

O bien

path comienza con "\\.\", por ejemplo "\\.\PHYSICALDRIVE0 ".

O bien

El identificador devuelto por la llamada a NTCreateFile no es de tipo FILE_TYPE_DISK.

No se encuentra el archivo.

Error de E/S.

El autor de la llamada no tiene el permiso necesario.

El especificado path no es válido, como estar en una unidad no asignada.

El sistema operativo no permite el acceso solicitado para la ruta de acceso especificada. Esto ocurre cuando se especifica el acceso Write o ReadWrite y el archivo o directorio se establece para el acceso de solo lectura.

NtCreateFile produce un error con el código de error establecido en ERROR_SHARING_VIOLATION.

Comentarios

Si se produce una excepción, se deben revertir las transacciones abiertas. De lo contrario, se puede producir una pérdida de datos.

Consulte también

Se aplica a

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

Inicializa una nueva instancia de la clase SqlFileStream.

public:
 SqlFileStream(System::String ^ path, cli::array <System::Byte> ^ transactionContext, System::IO::FileAccess access, System::IO::FileOptions options, long allocationSize);
public SqlFileStream(string path, byte[] transactionContext, System.IO.FileAccess access, System.IO.FileOptions options, long allocationSize);
new System.Data.SqlTypes.SqlFileStream : string * byte[] * System.IO.FileAccess * System.IO.FileOptions * int64 -> System.Data.SqlTypes.SqlFileStream
Public Sub New (path As String, transactionContext As Byte(), access As FileAccess, options As FileOptions, allocationSize As Long)

Parámetros

path
String

Ruta de acceso lógica al archivo. La ruta de acceso se puede recuperar mediante la función pathname de Transact-SQL en la columna FILESTREAM subyacente de la tabla.

transactionContext
Byte[]

Contexto de transacción del SqlFileStream objeto. Cuando se establece en NULL, se usará una transacción implícita para el SqlFileStream objeto . Las aplicaciones deben devolver la matriz de bytes devuelta llamando al método GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Modo de acceso que se va a usar al abrir el archivo. Los valores de enumeración admitidos FileAccess son Read, Writey ReadWrite.

Cuando se usa FileAccess.Read, el SqlFileStream objeto se puede usar para leer todos los datos existentes.

Cuando se usa FileAccess.Write, SqlFileStream apunta a un archivo de bytes cero. Los datos existentes se sobrescribirán cuando se cierre el objeto y se confirme la transacción.

Cuando se usa FileAccess.ReadWrite, SqlFileStream apunta a un archivo que tiene todos los datos existentes en él. El identificador se coloca al principio del archivo. Puede usar uno de los System.IOSeek métodos para mover la posición de identificador dentro del archivo para escribir o anexar nuevos datos.

options
FileOptions

Especifica la opción que se va a usar al abrir el archivo. Los valores admitidos FileOptions son Asynchronous, WriteThrough, SequentialScany RandomAccess.

allocationSize
Int64

Tamaño de asignación que se va a usar al crear un archivo. Si se establece en 0, se usa el valor predeterminado.

Excepciones

path es una referencia nula o transactionContext es null.

path es una cadena vacía (""), contiene solo espacios en blanco o contiene uno o varios caracteres no válidos.

path comienza con "\\.\", por ejemplo "\\.\PHYSICALDRIVE0 ".

El identificador devuelto por llamada a NTCreateFile no es de tipo FILE_TYPE_DISK.

options contiene un valor no admitido.

No se encuentra el archivo.

Error de E/S.

El autor de la llamada no tiene el permiso necesario.

El especificado path no es válido, como estar en una unidad no asignada.

El sistema operativo no permite el acceso solicitado para la ruta de acceso especificada. Esto ocurre cuando se especifica el acceso Write o ReadWrite y el archivo o directorio se establece para el acceso de solo lectura.

NtCreateFile produce un error con el código de error establecido en ERROR_SHARING_VIOLATION.

Comentarios

Si se produce una excepción, se deben revertir las transacciones abiertas. De lo contrario, se puede producir una pérdida de datos.

Consulte también

Se aplica a