OracleBFile.SetFileName(String, String) OracleBFile.SetFileName(String, String) OracleBFile.SetFileName(String, String) OracleBFile.SetFileName(String, String) Method

Definición

Enlaza el objeto OracleBFile a otro archivo del sistema operativo.Binds the OracleBFile object to a different file in the operating system.

public:
 void SetFileName(System::String ^ directory, System::String ^ file);
public void SetFileName (string directory, string file);
member this.SetFileName : string * string -> unit
Public Sub SetFileName (directory As String, file As String)

Parámetros

directory
String String String String

Alias del objeto de directorio que contiene un archivo físico.The alias of the directory object that contains a physical file.

file
String String String String

Nombre del archivo del sistema operativo.The name of the file in the operating system.

Excepciones

La operación debe estar dentro de una transacción.The operation must be within a transaction.

Comentarios

La SetFileName operación debe estar dentro de una transacción para que se realice correctamente.The SetFileName operation must be within a transaction to succeed. Simplemente llamar SetFileName a en BFILE un asocia OracleBFile el objeto a un archivo diferente, pero no actualiza la tabla de Oracle.Simply calling SetFileName on a BFILE associates the OracleBFile object with a different file, but does not update the Oracle table. Para actualizar la tabla de Oracle después SetFileNamede llamar a, debe Update llamar al método OracleDataAdapter de y, a continuación, confirmar la transacción.To update the Oracle table after calling SetFileName, you must call the Update method of the OracleDataAdapter and then commit the transaction.

Una vez que se DirectoryName recupera FileName la propiedad o, se almacenan en OracleBFile caché en el objeto OracleBFile y no se ven afectadas por las llamadas a SetFileNamelos BFILE objetos clonados o por cambios en la base de datos.Once you retrieve the DirectoryName or FileName property, they are cached in the OracleBFile object and are unaffected by any cloned OracleBFile objects' calls to SetFileName, or by any changes to the BFILE in the database. En otras palabras, es posible que no representen los valores BFILE reales del objeto en el servidor.In other words, they might not represent the actual values of the BFILE object in the server.

Además, la recuperación de una propiedadDirectoryName ( FileNameo) hace que ambos valores de propiedad se recuperen del servidor y se almacenen en caché en el OracleBFile objeto.Furthermore, retrieving either property (DirectoryName or FileName) causes both property values to be retrieved from the server and cached in the OracleBFile object.

En el C# ejemplo siguiente se da por supuesto este esquema en una tabla de Oracle:The following C# example assumes this schema in an Oracle table:

(col1 number, col2 BFILE)  

En el ejemplo se muestra SetFileNameel Read uso Seek de los métodos, OracleBFile y para tener acceso a un objeto.The example demonstrates using the SetFileName, Read and Seek methods to access an OracleBFile object.

byte[] buffer = new byte[100];  
OracleDataReader dataReader = command.ExecuteReader();  
using (dataReader) {  
    if (dataReader.Read()) {  
        OracleBFile BFile = dataReader.GetOracleBFile(1);  
        using (BFile) {  
            BFile.Seek(0, SeekOrigin.Begin);  
            BFile.Read(buffer, 0, 100);  
            command.Transaction = connection.BeginTransaction();  
            BFile.SetFileName("TESTDIR", "File1.jpg");  
            BFile.Read(buffer, 0, 100);  
        }  
    }  
}  

Se aplica a