SqlFileStream Constructores
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicializa una nueva instancia de la clase SqlFileStream.
Sobrecargas
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 llamadas de la pila deben tener para usar los SqlFileStream
constructores.
Acceso a archivos | Permiso |
---|---|
Lectura | Read |
Escritura | Write |
ReadWrite | Read y Write |
Para obtener más información sobre CAS, consulte Seguridad de acceso de código y 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[]
El contexto de transacción para el objeto SqlFileStream
. Las aplicaciones deben devolver la matriz de bytes devuelta llamando al método GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
El modo de acceso que se usará al abrir el archivo. Los valores de enumeración FileAccess admitidos son Read, Write y ReadWrite.
Al usar FileAccess.Read
, el objeto SqlFileStream
puede usarse para leer todos los datos existentes.
Al usar FileAccess.Write
, SqlFileStream
apunta a un archivo de cero bytes. Los datos existentes se sobrescribirán cuando se cierre el objeto y la transacción se confirmará.
Al usar 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 métodos System.IO
Seek
para mover la posición del identificador dentro del archivo para escribir o anexar nuevos datos.
Excepciones
path
es una referencia null o transactionContext
es null.
path
es una cadena vacía (""), solo contiene espacios en blanco o uno o más caracteres no válidos.
path
comienza por "\\.\", por ejemplo "\\.\PHYSICALDRIVE0 ".
El identificador devuelto por la llamada a NTCreateFile no es del tipo FILE_TYPE_DISK.
options
contiene un valor no admitido.
No se encuentra el archivo.
Error de E/S.
El llamador no dispone del permiso requerido.
El valor de path
especificado no es válido, por ejemplo, está 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 de escritura o lectura y escritura, y el archivo o el directorio está establecido para el acceso de solo lectura.
Se produce un error en NtCreateFile 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[]
El contexto de transacción para el objeto SqlFileStream
. Cuando establece en null, se usará una transacción implícita para el objeto SqlFileStream
. Las aplicaciones deben devolver la matriz de bytes devuelta llamando al método GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
El modo de acceso que se usará al abrir el archivo. Los valores de enumeración FileAccess admitidos son Read, Write y ReadWrite.
Al usar FileAccess.Read
, el objeto SqlFileStream
puede usarse para leer todos los datos existentes.
Al usar FileAccess.Write
, SqlFileStream
apunta a un archivo de cero bytes. Los datos existentes se sobrescribirán cuando se cierre el objeto y la transacción se confirmará.
Al usar 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 métodos System.IO
Seek
para mover la posición del identificador dentro del archivo para escribir o anexar nuevos datos.
- options
- FileOptions
Especifica la opción que se usará al abrir el archivo. Los valores de FileOptions admitidos son Asynchronous, WriteThrough, SequentialScan y RandomAccess.
- allocationSize
- Int64
El tamaño de asignación que se usará al crear un archivo. Si se establece en 0, se usará el valor predeterminado.
Excepciones
path
es una referencia null o transactionContext
es null.
path
es una cadena vacía (""), solo contiene espacios en blanco o uno o más caracteres no válidos.
path
comienza por "\\.\", por ejemplo "\\.\PHYSICALDRIVE0 ".
El identificador devuelto por la llamada a NTCreateFile no es del tipo FILE_TYPE_DISK.
options
contiene un valor no admitido.
No se encuentra el archivo.
Error de E/S.
El llamador no dispone del permiso requerido.
El valor de path
especificado no es válido, por ejemplo, está 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 de escritura o lectura y escritura, y el archivo o el directorio está establecido para el acceso de solo lectura.
Se produce un error en NtCreateFile 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.