Export (0) Print
Expand All

OracleBFile.SetFileName Method

Binds the OracleBFile object to a different file in the operating system.

Namespace:  System.Data.OracleClient
Assembly:  System.Data.OracleClient (in System.Data.OracleClient.dll)

public void SetFileName(
	string directory,
	string file
)

Parameters

directory
Type: System.String

The alias of the directory object that contains a physical file.

file
Type: System.String

The name of the file in the operating system.

ExceptionCondition
InvalidOperationException

The operation must be within a transaction.

The SetFileName operation must be within a transaction to succeed. Simply calling SetFileName on a BFILE associates the OracleBFile object with a different file, but does not update the Oracle table. To update the Oracle table after calling SetFileName, you must call the Update method of the OracleDataAdapter and then commit the transaction.

Once you retrieve the DirectoryName or FileName property, they are cached in the OracleBFile object and are unaffected by any cloned OracleBFile objects' calls to SetFileName, or by any changes to the BFILE in the database. In other words, they might not represent the actual values of the BFILE object in the server.

Furthermore, retrieving either property (DirectoryName or FileName) causes both property values to be retrieved from the server and cached in the OracleBFile object.

The following C# example assumes this schema in an Oracle table:

(col1 number, col2 BFILE)

The example demonstrates using the SetFileName, 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);
            command.Transaction = connection.BeginTransaction();
            BFile.SetFileName("TESTDIR", "File1.jpg");
            BFile.Read(buffer, 0, 100);
        }
    }
}

.NET Framework

Supported in: 4.6, 4, 3.5, 3.0, 2.0, 1.1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft