OracleBFile.SetFileName(String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Associa o objeto OracleBFile a um arquivo diferente no sistema operacional.
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 de diretório que contém um arquivo físico.
- file
- String
O nome do arquivo no sistema operacional.
Exceções
A operação deve ser executada dentro de uma transação.
Comentários
A SetFileName operação deve estar dentro de uma transação para ter êxito. Simplesmente chamar SetFileName em um BFILE
associa o objeto a OracleBFile um arquivo diferente, mas não atualiza a tabela Oracle. Para atualizar a tabela Oracle depois de chamar SetFileName, você deve chamar o Update
método do OracleDataAdapter e confirmar a transação.
Depois de recuperar a DirectoryName propriedade ou FileName , elas são armazenadas em cache no OracleBFile objeto e não são afetadas por chamadas de objetos clonados OracleBFile para SetFileNameou por quaisquer alterações no BFILE
no banco de dados. Em outras palavras, eles podem não representar os valores reais do BFILE
objeto no servidor.
Além disso, recuperar a propriedade (DirectoryName ou FileName) faz com que ambos os valores de propriedade sejam recuperados do servidor e armazenados em cache no OracleBFile objeto .
O exemplo de C# a seguir pressupõe esse esquema em uma tabela Oracle:
(col1 number, col2 BFILE)
O exemplo demonstra o uso dos SetFileNamemétodos e ReadSeek para acessar 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);
}
}
}