Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Liest eine Folge von Bytes aus dem aktuellen OracleBFile-Stream und verschiebt die Position im Stream um die Anzahl der gelesen Bytes nach vorn.
Namespace: System.Data.OracleClient
Assembly: System.Data.OracleClient (in system.data.oracleclient.dll)
Syntax
'Declaration
Public Overrides Function Read ( _
buffer As Byte(), _
offset As Integer, _
count As Integer _
) As Integer
'Usage
Dim instance As OracleBFile
Dim buffer As Byte()
Dim offset As Integer
Dim count As Integer
Dim returnValue As Integer
returnValue = instance.Read(buffer, offset, count)
public override int Read (
byte[] buffer,
int offset,
int count
)
public:
virtual int Read (
array<unsigned char>^ buffer,
int offset,
int count
) override
public int Read (
byte[] buffer,
int offset,
int count
)
public override function Read (
buffer : byte[],
offset : int,
count : int
) : int
Parameter
- buffer
Ein Bytearray. Nach dem Beenden dieser Methode enthält der Puffer das angegebene Bytearray mit den Werten zwischen offset und (offset + count), die durch aus der aktuellen Quelle gelesene Bytes ersetzt wurden.
- offset
Der nullbasierte Byteoffset im buffer, ab dem die aus dem aktuellen Stream gelesenen Daten gespeichert werden.
- count
Die maximale Anzahl an Bytes, die aus dem aktuellen Stream gelesen werden sollen.
Rückgabewert
Die Gesamtanzahl der in den Puffer gelesenen Bytes. Dies kann weniger als die Anzahl der angeforderten Bytes sein, wenn diese Anzahl an Bytes derzeit nicht verfügbar ist, oder 0 (null), wenn das Dateiende erreicht ist.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Die Summe aus offset und count ist größer als die Pufferlänge. |
|
buffer ist ein NULL-Verweis (Nothing in Visual Basic). |
|
offset oder count ist negativ. |
|
Die Verbindung, der eine BFILE zugeordnet ist, wurde geschlossen. |
|
Ein E/A-Fehler ist aufgetreten. |
|
Es wurden Methoden aufgerufen, nachdem der Stream geschlossen oder freigegeben wurde. |
Hinweise
Die Read-Methode liest maximal count Bytes aus dem aktuellen Stream und speichert diese beginnend bei offset im buffer. Die aktuelle Position im Stream wird um die Anzahl der gelesenen Bytes nach vorne verschoben. Wenn eine Ausnahme auftritt, wird die aktuelle Position im Stream jedoch nicht geändert. Read gibt die Anzahl der gelesenen Bytes zurück. Der Rückgabewert ist nur dann 0 (null), wenn die aktuelle Position das Ende des Streams ist. Falls keine Daten verfügbar sind, blockiert Read solange, bis mindestens ein Byte mit Daten gelesen werden kann. Read gibt nur dann 0 (null) zurück, wenn das Dateiende erreicht ist. Read kann weniger Bytes als angefordert zurückgeben, auch wenn noch nicht das Ende des Streams erreicht ist.
Beim Versuch, auf eine geschlossene OracleBFile mithilfe der Read-Methode oder der Seek-Methode zuzugreifen, wird automatisch ein OracleBFile-Stream erneut geöffnet.
Im folgenden C#-Beispiel wird von einer Oracle-Tabelle mit diesem Schema ausgegangen:
(col1 number, col2 BFILE)
Das Beispiel veranschaulicht die Verwendung 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);
}
}
}
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