Sdílet prostřednictvím


OracleBFile.SetFileName(String, String) Metoda

Definice

Vytvoří vazbu objektu OracleBFile na jiný soubor v operačním systému.

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 objektu adresáře, který obsahuje fyzický soubor.

file
String

Název souboru v operačním systému.

Výjimky

Operace musí být v rámci transakce.

Poznámky

Operace SetFileName musí být v rámci transakce, aby byla úspěšná. Jednoduché volání SetFileName přidruží BFILE objekt k OracleBFile jinému souboru, ale neaktualizuje tabulku Oracle. Chcete-li aktualizovat tabulku Oracle po volání SetFileName, musíte volat metodu UpdateOracleDataAdapter a pak potvrdit transakci.

Jakmile načtete DirectoryName vlastnost nebo FileName , jsou uloženy v mezipaměti objektu OracleBFile a nejsou ovlivněny voláním klonovaných OracleBFile objektů , SetFileNameani žádnými změnami BFILE v databázi. Jinými slovy, nemusí představovat skutečné hodnoty objektu BFILE na serveru.

Načtení vlastnosti (DirectoryName nebo FileName) navíc způsobí načtení obou hodnot vlastností ze serveru a uložení do mezipaměti v objektu OracleBFile .

Následující příklad jazyka C# předpokládá toto schéma v tabulce Oracle:

(col1 number, col2 BFILE)

Příklad ukazuje použití SetFileNamemetod , Read a Seek pro přístup k objektu OracleBFile .

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);
        }
    }
}

Platí pro