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