OracleBFile.Seek(Int64, SeekOrigin) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Sets the position on the current OracleBFile stream.
public:
override long Seek(long offset, System::IO::SeekOrigin origin);
public override long Seek (long offset, System.IO.SeekOrigin origin);
override this.Seek : int64 * System.IO.SeekOrigin -> int64
Public Overrides Function Seek (offset As Long, origin As SeekOrigin) As Long
Parameters
- offset
- Int64
A byte offset relative to origin. If offset
is negative, the new position will precede the position specified by origin
by the number of bytes specified by offset
. If offset
is zero, the new position will be the position specified by origin
. If offset
is positive, the new position will follow the position specified by origin
by the number of bytes specified by offset
.
- origin
- SeekOrigin
A value of type System.IO.SeekOrigin
indicating the reference point used to obtain the new position.
Returns
The new position within the current stream.
Exceptions
Attempted to set a position with a negative value or greater than the length of the stream.
Methods were called after the stream was closed or disposed.
Remarks
If offset
is negative, the new position is required to precede the position specified by origin
by the number of bytes specified by offset
. If offset
is zero, the new position is required to be the position specified by origin
. If offset
is positive, the new position is required to follow the position specified by origin
by the number of bytes specified by offset
.
Seeking to any location beyond the length of the stream is not supported.
Any attempt to access a closed OracleBFile using the Read or Seek methods reopens an OracleBFile stream automatically.
The following C# example assumes this schema in an Oracle table:
(col1 number, col2 BFILE)
The example demonstrates using the Read and Seek methods to access an OracleBFile object.
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);
}
}
}