OracleBFile.SetFileName(String, String) 方法

定義

OracleBFile 物件繫結到作業系統中不同的檔案。

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)

參數

directory
String

含有實體檔案的目錄物件別名。

file
String

作業系統中的檔案名稱。

例外狀況

作業必須位於交易內。

備註

作業 SetFileName 必須在交易內才能成功。 只要在 上BFILE呼叫 SetFileName ,即可OracleBFile將 物件與不同的檔案產生關聯,但不會更新 Oracle 數據表。 若要在呼叫 SetFileName之後更新 Oracle 數據表,您必須呼叫 UpdateOracleDataAdapter 方法,然後認可交易。

一旦您擷取 DirectoryNameFileName 屬性,它們就會快取在物件中 OracleBFile ,而且不會受到任何複製 OracleBFile 物件的呼叫 SetFileName所影響,或是對資料庫中的任何變更 BFILE 。 換句話說,它們可能不會代表伺服器中對象的實際值 BFILE

此外,擷取屬性 (DirectoryNameFileName) 會導致從伺服器擷取兩個屬性值,並在物件中 OracleBFile 快取。

下列 C# 範例假設 Oracle 資料表中有此架構:

(col1 number, col2 BFILE)  

此範例示範如何使用 SetFileNameReadSeek 方法來存取 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);  
        }  
    }  
}  

適用於