OracleBFile.SetFileName(String, String) Metoda

Definicja

Wiąże OracleBFile obiekt z innym plikiem w systemie operacyjnym.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)

Parametry

directory
String

Alias obiektu katalogu, który zawiera plik fizyczny.The alias of the directory object that contains a physical file.

file
String

Nazwa pliku w systemie operacyjnym.The name of the file in the operating system.

Wyjątki

Operacja musi znajdować się w obrębie transakcji.The operation must be within a transaction.

Uwagi

SetFileNameOperacja musi znajdować się w transakcji, aby zakończyć się pomyślnie.The SetFileName operation must be within a transaction to succeed. Po prostu wywołanie SetFileName BFILE obiektu kojarzy OracleBFile obiekt z innym plikiem, ale nie aktualizuje tabeli programu Oracle.Simply calling SetFileName on a BFILE associates the OracleBFile object with a different file, but does not update the Oracle table. Aby zaktualizować tabelę Oracle po wywołaniu SetFileName , należy wywołać Update metodę, OracleDataAdapter a następnie zatwierdzić transakcję.To update the Oracle table after calling SetFileName, you must call the Update method of the OracleDataAdapter and then commit the transaction.

Po pobraniu DirectoryName właściwości lub są FileName one przechowywane w pamięci podręcznej w OracleBFile obiekcie i nie mają wpływać na wywołania wszystkich sklonowanych OracleBFile obiektów do SetFileName , lub zmian BFILE w bazie danych.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. Innymi słowy, mogą nie reprezentować rzeczywistych wartości BFILE obiektu na serwerze.In other words, they might not represent the actual values of the BFILE object in the server.

Ponadto pobranie jednej z właściwości ( DirectoryName lub FileName ) powoduje, że obie wartości właściwości mają być pobierane z serwera i buforowane w OracleBFile obiekcie.Furthermore, retrieving either property (DirectoryName or FileName) causes both property values to be retrieved from the server and cached in the OracleBFile object.

W poniższym przykładzie w języku C# założono, że ten schemat znajduje się w tabeli programu Oracle:The following C# example assumes this schema in an Oracle table:

(col1 number, col2 BFILE)  

W przykładzie pokazano SetFileName , jak używać Read Seek metod i uzyskać dostęp do OracleBFile obiektu.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);  
        }  
    }  
}  

Dotyczy