Bagikan melalui


OracleBFile.SetFileName(String, String) Metode

Definisi

Mengikat objek ke OracleBFile file yang berbeda dalam sistem operasi.

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)

Parameter

directory
String

Alias objek direktori yang berisi file fisik.

file
String

Nama file dalam sistem operasi.

Pengecualian

Operasi harus berada dalam transaksi.

Keterangan

Operasi SetFileName harus berada dalam transaksi agar berhasil. Cukup memanggil SetFileName pada BFILE mengaitkan OracleBFile objek dengan file yang berbeda, tetapi tidak memperbarui tabel Oracle. Untuk memperbarui tabel Oracle setelah memanggil SetFileName, Anda harus memanggil Update metode OracleDataAdapter lalu melakukan transaksi.

Setelah Anda mengambil DirectoryName properti atau FileName , mereka di-cache di OracleBFile objek dan tidak terpengaruh oleh panggilan objek kloning OracleBFile ke SetFileName, atau oleh perubahan apa pun pada BFILE dalam database. Dengan kata lain, mereka mungkin tidak mewakili nilai BFILE aktual objek di server.

Selain itu, mengambil properti (DirectoryName atau FileName) menyebabkan kedua nilai properti diambil dari server dan di-cache di OracleBFile objek .

Contoh C# berikut mengasumsikan skema ini dalam tabel Oracle:

(col1 number, col2 BFILE)  

Contohnya menunjukkan menggunakan SetFileNamemetode , Read dan Seek untuk mengakses OracleBFile objek.

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

Berlaku untuk