dotConnect for Oracle Documentation
Devart.Data.Oracle Namespace / OracleDataReader Class / GetOracleLob Method / GetOracleLob(String) Method
Example

GetOracleLob(String) Method
Gets the value of the specified column as a OracleLob object.
Syntax
'Declaration
 
Public Overloads Function GetOracleLob( _
   ByVal name As String _
) As OracleLob
 

Parameters

name

Return Value

The value of the specified column as a OracleLob object.
Remarks

Refer to "Working with BLOB and CLOB Data" article for detailed information.

Example
This example shows how to download a LOB field from a table using GetOracleLob method.
public void DownloadLob(OracleConnection myConnection)
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Pictures", myConnection);
  myConnection.Open();
  OracleDataReader myReader = myCommand.ExecuteReader(System.Data.CommandBehavior.Default);
  try
  {
    while (myReader.Read())
    {
      OracleLob myLob = myReader.GetOracleLob(myReader.GetOrdinal("Picture"));
      if(!myLob.IsNull)
      {
        string FN = myReader.GetString(myReader.GetOrdinal("PicName"));
        FileStream fs = new FileStream("D:\\Tmp\\"+FN+".bmp", FileMode.Create);
        BinaryWriter w = new BinaryWriter(fs);
        w.Write(myLob.Value);
        w.Close();
        fs.Close();
        Console.WriteLine(FN+" downloaded.");
      }
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
}
Public Sub DownloadLob(ByVal myConnection As OracleConnection)
  Dim myCommand As New OracleCommand("SELECT * FROM Test.Pictures", myConnection)
  myConnection.Open()
  Dim myReader As OracleDataReader = myCommand.ExecuteReader(System.Data.CommandBehavior.Default)
  Try
    While myReader.Read()
      Dim myLob As OracleLob = myReader.GetOracleLob(myReader.GetOrdinal("Picture"))
      If Not myLob.IsNull Then
        Dim FN As String = myReader.GetString(myReader.GetOrdinal("PicName"))
        Dim fs As FileStream = New FileStream("D:\Tmp\" + FN + ".bmp", FileMode.Create)
        Dim w As BinaryWriter = New BinaryWriter(fs)
        w.Write(myLob.Value)
        w.Close()
        fs.Close()
        Console.WriteLine(String.Concat(FN, " downloaded."))
      End If
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub
See Also