Udostępnij za pośrednictwem


OracleBFile.SetFileName(String, String) Metoda

Definicja

Wiąże OracleBFile obiekt z innym plikiem w systemie operacyjnym.

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.

file
String

Nazwa pliku w systemie operacyjnym.

Wyjątki

Operacja musi znajdować się w ramach transakcji.

Uwagi

Operacja SetFileName musi być w ramach transakcji, aby zakończyć się powodzeniem. Wystarczy wywołać SetFileNameBFILE skojarzenie OracleBFile obiektu z innym plikiem, ale nie aktualizuje tabeli Oracle. Aby zaktualizować tabelę Oracle po wywołaniu metody SetFileName, należy wywołać Update metodę OracleDataAdapter , a następnie zatwierdzić transakcję.

Po pobraniu DirectoryName właściwości lub FileName są one buforowane w OracleBFile obiekcie i nie mają wpływu na wszystkie sklonowane OracleBFile wywołania obiektów do SetFileNameprogramu lub przez wszelkie zmiany BFILE w bazie danych. Innymi słowy, mogą nie reprezentować rzeczywistych BFILE wartości obiektu na serwerze.

Ponadto pobieranie właściwości (DirectoryName lub FileName) powoduje pobranie obu wartości właściwości z serwera i buforowanie w OracleBFile obiekcie.

W poniższym przykładzie języka C# przyjęto założenie, że ten schemat w tabeli Oracle:

(col1 number, col2 BFILE)  

W przykładzie pokazano użycie SetFileNameRead metod i w Seek celu uzyskania dostępu OracleBFile do obiektu.

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