Freigeben über


OracleBFile.SetFileName-Methode

Bindet das OracleBFile-Objekt an eine andere Datei im Betriebssystem.

Namespace: System.Data.OracleClient
Assembly: System.Data.OracleClient (in system.data.oracleclient.dll)

Syntax

'Declaration
Public Sub SetFileName ( _
    directory As String, _
    file As String _
)
'Usage
Dim instance As OracleBFile
Dim directory As String
Dim file As String

instance.SetFileName(directory, file)
public void SetFileName (
    string directory,
    string file
)
public:
void SetFileName (
    String^ directory, 
    String^ file
)
public void SetFileName (
    String directory, 
    String file
)
public function SetFileName (
    directory : String, 
    file : String
)

Parameter

  • directory
    Der Alias des Verzeichnisobjekts, das eine physikalische Datei enthält.
  • file
    Der Name der Datei im Betriebssystem.

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Die Operation muss Teil einer Transaktion sein.

Hinweise

Die SetFileName-Operation muss zu einer Transaktion gehören, damit sie erfolgreich ausgeführt werden kann. Wenn Sie einfach SetFileName für eine BFILE aufrufen, wird das OracleBFile-Objekt einer anderen Datei zugeordnet, ohne jedoch die Oracle-Tabelle zu aktualisieren. Um die Oracle-Tabelle nach dem Aufruf von SetFileName zu aktualisieren, müssen Sie die Update-Methode des OracleDataAdapter aufrufen und dann einen Commit für die Transaktion ausführen.

Nach dem Abrufen der DirectoryName-Eigenschaft oder der FileName-Eigenschaft werden diese im OracleBFile-Objekt zwischengespeichert. Aufrufe von geklonten OracleBFile-Objekten für SetFileName oder Änderungen an BFILE in der Datenbank haben keine Auswirkungen auf diese Eigenschaften. Sie stellen also möglicherweise nicht die tatsächlichen Werte des BFILE-Objekts auf dem Server dar.

Außerdem werden beim Abrufen einer der Eigenschaften (DirectoryName oder FileName) beide Eigenschaftenwerte vom Server abgerufen und im OracleBFile-Objekt zwischengespeichert.

Im folgenden C#-Beispiel wird von einer Oracle-Tabelle mit diesem Schema ausgegangen:

(col1 number, col2 BFILE)

Das Beispiel veranschaulicht die Verwendung der SetFileName-Methode, der Read-Methode und der Seek-Methode zum Zugreifen auf ein OracleBFile-Objekt.

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

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1

Siehe auch

Referenz

OracleBFile-Klasse
OracleBFile-Member
System.Data.OracleClient-Namespace