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 操作必须位于事务中才能成功。 仅对 调用 SetFileName 会将 BFILE
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);
}
}
}