OracleBFile.SetFileName(String, String) OracleBFile.SetFileName(String, String) OracleBFile.SetFileName(String, String) OracleBFile.SetFileName(String, String) Method

定義

OracleBFile オブジェクトをオペレーティング システムの別のファイルにバインドします。Binds the OracleBFile object to a different file in the operating system.

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 String String String

物理ファイルを格納しているディレクトリ オブジェクトの別名。The alias of the directory object that contains a physical file.

file
String String String String

オペレーティング システムでのファイル名。The name of the file in the operating system.

例外

操作はトランザクション内で行う必要があります。The operation must be within a transaction.

注釈

SetFileName操作が成功するトランザクション内である必要があります。The SetFileName operation must be within a transaction to succeed. 呼び出すだけSetFileName上、BFILE関連付けます、OracleBFileオブジェクトと別のファイルは Oracle のテーブルは更新されません。Simply calling SetFileName on a BFILE associates the OracleBFile object with a different file, but does not update the Oracle table. 呼び出した後、Oracle のテーブルを更新するSetFileName、呼び出す必要があります、Updateのメソッド、OracleDataAdapterし、トランザクションをコミットします。To update the Oracle table after calling SetFileName, you must call the Update method of the OracleDataAdapter and then commit the transaction.

取得した後、DirectoryNameまたはFileNameにキャッシュされるプロパティ、OracleBFileオブジェクトし、複製は、影響を受けませんOracleBFileオブジェクトの呼び出しをSetFileName、またはを変更しても、BFILEデータベースにします。Once you retrieve the DirectoryName or FileName property, they are cached in the OracleBFile object and are unaffected by any cloned OracleBFile objects' calls to SetFileName, or by any changes to the BFILE in the database. つまりの実際の値を表すことがない、BFILEサーバー内のオブジェクト。In other words, they might not represent the actual values of the BFILE object in the server.

さらに、いずれかのプロパティを取得する (DirectoryNameまたはFileName) により、サーバーから取得されでキャッシュを両方のプロパティ値、OracleBFileオブジェクト。Furthermore, retrieving either property (DirectoryName or FileName) causes both property values to be retrieved from the server and cached in the OracleBFile object.

次の c# の例では、Oracle テーブルには、このスキーマが前提とします。The following C# example assumes this schema in an Oracle table:

(col1 number, col2 BFILE)  

この例で、 SetFileNameReadSeekにアクセスするメソッド、OracleBFileオブジェクト。The example demonstrates using the SetFileName, Read and Seek methods to access an OracleBFile object.

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

適用対象