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