C#中,如何读取ORACLE的表中的BLOB数据?
请问:C#中,如何读取ORACLE的表中的BLOB数据?就是:用C#,把ORACLE的表中的BLOB列的内容读出来,保存到操作系统目录下面。   
 看过介绍的例子,总找不到完整的例子。 
 谢谢大家啊。
------解决方案--------------------以二进制数组形式读出来..
------解决方案--------------------参见MSDN:   
 ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/WD_ADONET/html/56c5a9e3-31f1-482f-bce0-ff1c41a658d0.htm
------解决方案--------------------给你贴个例子:   
 以下示例从 Microsoft SQL Server 中的 pubs 示例数据库中返回发行者 ID 和徽标。发行者 ID (pub_id) 是字符字段,而徽标则是图像,属于 BLOB。由于 logo 字段是位图,因此该示例使用 GetBytes 返回二进制数据。请注意,由于必须按顺序访问字段,所以将在访问徽标之前访问当前数据行的发行者 ID。     
 // Assumes that connection is a valid SqlConnection object. 
 SqlCommand command = new SqlCommand( 
    "SELECT pub_id, logo FROM pub_info ", connection);   
 // Writes the BLOB to a file (*.bmp). 
 FileStream stream;                           
 // Streams the BLOB to the FileStream object. 
 BinaryWriter writer;                           
 // Size of the BLOB buffer. 
 int bufferSize = 100;                    
 // The BLOB byte[] buffer to be filled by GetBytes. 
 byte[] outByte = new byte[bufferSize];   
 // The bytes returned from GetBytes. 
 long retval;                             
 // The starting position in the BLOB output. 
 long startIndex = 0;                       
 // The publisher id to use in the file name. 
 string pubID =  " ";                        
 // Open the connection and read data into the DataReader. 
 connection.Open(); 
 SqlDataReader reader = command.ExecuteReader(CommandBehavior.SequentialAccess);   
 while (reader.Read()) 
 { 
   // Get the publisher id, which must occur before getting the logo. 
   pubID = reader.GetString(0);     
   // Create a file to hold the output. 
   stream = new FileStream( 
      "logo " + pubID +  ".bmp ", FileMode.OpenOrCreate, FileAccess.Write); 
   writer = new BinaryWriter(stream);   
   // Reset the starting byte for the new BLOB. 
   startIndex = 0;   
   // Read bytes into outByte[] and retain the number of bytes returned. 
   retval = reader.GetBytes(1, startIndex, outByte, 0, bufferSize);   
   // Continue while there are bytes beyond the size of the buffer. 
   while (retval == bufferSize) 
   { 
     writer.Write(outByte); 
     writer.Flush();   
     // Reposition start index to end of last buffer and fill buffer. 
     startIndex += bufferSize; 
     retval = reader.GetBytes(1, startIndex, outByte, 0, bufferSize); 
   }   
   // Write the remaining buffer. 
   writer.Write(outByte, 0, (int)retval - 1); 
   writer.Flush();   
   // Close the output file. 
   writer.Close(); 
   stream.Close(); 
 }   
 // Close the reader and the connection. 
 reader.Close(); 
 connection.Close();