OracleBFile.SetFileName(String, String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Associa l'oggetto OracleBFile a un altro file nel 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)
Parametri
- directory
- String
Alias dell'oggetto directory contenente un file fisico.
- file
- String
Nome del file nel sistema operativo.
Eccezioni
L'operazione deve essere all'interno di una transazione.
Commenti
L'operazione SetFileName deve trovarsi all'interno di una transazione per la riuscita. Semplicemente chiamando SetFileName su un BFILE
oggetto associa l'oggetto OracleBFile a un file diverso, ma non aggiorna la tabella Oracle. Per aggiornare la tabella Oracle dopo aver chiamato , è necessario chiamare SetFileNameil metodo dell'oggetto OracleDataAdapter e quindi eseguire il Update
commit della transazione.
Dopo aver recuperato la DirectoryName proprietà o FileName , vengono memorizzati nella cache nell'oggetto OracleBFile e non sono interessati dalle chiamate di oggetti clonati OracleBFile a SetFileNameo da eventuali modifiche apportate al BFILE
database. In altre parole, potrebbero non rappresentare i valori effettivi dell'oggetto BFILE
nel server.
Inoltre, il recupero della proprietà (DirectoryName o FileName) causa il recupero di entrambi i valori delle proprietà dal server e memorizzati nella cache nell'oggetto OracleBFile .
Nell'esempio C# seguente si presuppone questo schema in una tabella Oracle:
(col1 number, col2 BFILE)
L'esempio illustra l'uso di SetFileNameRead metodi e Seek per accedere a un OracleBFile oggetto.
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);
}
}
}