OracleBFile.SetFileName(String, String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 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 數據表,您必須呼叫 Update
的 OracleDataAdapter 方法,然後認可交易。
一旦您擷取 DirectoryName 或 FileName 屬性,它們就會快取在物件中 OracleBFile ,而且不會受到任何複製 OracleBFile 物件的呼叫 SetFileName所影響,或是對資料庫中的任何變更 BFILE
。 換句話說,它們可能不會代表伺服器中對象的實際值 BFILE
。
此外,擷取屬性 (DirectoryName 或 FileName) 會導致從伺服器擷取兩個屬性值,並在物件中 OracleBFile 快取。
下列 C# 範例假設 Oracle 資料表中有此架構:
(col1 number, col2 BFILE)
此範例示範如何使用 SetFileName和 ReadSeek 方法來存取 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);
}
}
}