Поделиться через


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 объекта BFILE связывается OracleBFile с другим файлом, но не обновляет таблицу Oracle. Чтобы обновить таблицу Oracle после вызова SetFileName, необходимо вызвать Update метод OracleDataAdapter и затем зафиксировать транзакцию.

После получения 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);
        }
    }
}

Применяется к