OracleBFile.SetFileName(String, String) Метод

Определение

Привязывает объект OracleBFile к другому файлу в операционной системе.

public void SetFileName (string directory, string file);

Параметры

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

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

Өнім Нұсқалар
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1