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 操作必须位于事务中才能成功。 仅对 调用 SetFileName 会将 BFILEOracleBFile 对象与另一个文件相关联,但不会更新 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);  
        }  
    }  
}  

适用于