OracleBFile.SetFileName(String, String) Método

Definição

Vincula o OracleBFile objeto a um ficheiro diferente no sistema operativo.

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)

Parâmetros

directory
String

O alias do objeto diretório que contém um ficheiro físico.

file
String

O nome do ficheiro no sistema operativo.

Exceções

A operação tem de ser feita dentro de uma transação.

Observações

A SetFileName operação tem de estar dentro de uma transação para ter sucesso. Simplesmente chamar SetFileName um BFILE associa o OracleBFile objeto a um ficheiro diferente, mas não atualiza a tabela Oracle. Para atualizar a tabela Oracle após chamar SetFileName, deve chamar o Update método do OracleDataAdapter e depois comprometer a transação.

Depois de recuperares a DirectoryName propriedade ou FileName , eles são armazenados em cache no OracleBFile objeto e não são afetados por quaisquer chamadas de objetos clonados OracleBFile para SetFileName, nem por quaisquer alterações na BFILE base de dados. Ou seja, podem não representar os valores reais do BFILE objeto no servidor.

Além disso, recuperar qualquer propriedade (DirectoryName ou FileName) faz com que ambos os valores de propriedade sejam recuperados do servidor e armazenados em cache no OracleBFile objeto.

O seguinte exemplo de C# assume este esquema numa tabela Oracle:

(col1 number, col2 BFILE)

O exemplo demonstra o uso dos SetFileNamemétodos , Read e Seek para aceder a um OracleBFile objeto.

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

Aplica-se a