OracleBFile.SetFileName メソッド
アセンブリ: System.Data.OracleClient (system.data.oracleclient.dll 内)

Dim instance As OracleBFile Dim directory As String Dim file As String instance.SetFileName(directory, file)


SetFileName 操作を正常に実行するには、トランザクション内で実行する必要があります。BFILE で SetFileName を呼び出すだけでも、OracleBFile オブジェクトは別のファイルに関連付けられますが、Oracle テーブルは更新されません。SetFileName を呼び出した後に Oracle テーブルを更新するには、OracleDataAdapter の Update メソッドを呼び出し、続いてトランザクションをコミットする必要があります。
DirectoryName または FileName プロパティを取得すると、これらのプロパティは OracleBFile オブジェクトにキャッシュされ、SetFileName に対する複製 OracleBFile オブジェクトの呼び出しや、データベース内の BFILE への変更による影響を受けません。言い換えると、これらのプロパティは、サーバー内の BFILE オブジェクトの実際の値を表さない場合があります。
さらに、どちらかのプロパティ (DirectoryName または FileName) を取得すると、サーバーから両方のプロパティ値が取得されて OracleBFile オブジェクトにキャッシュされます。
次の C# の例では、Oracle テーブルにおいてこの方法を用いることを想定しています。
(col1 number, col2 BFILE)
SetFileName メソッド、Read メソッド、および Seek メソッドを使用して 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); } } }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- OracleBFile.SetFileName メソッドのページへのリンク