我有A和B两个表,字段相同,我想把A表中的BLOB字段值读出来,再放到B表中
有没有不操作文件的方法,网上好多都是从文件读取。

解决方案 »

  1.   

    使用OracleClient 
    OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["NEWOracleConn"].ToString());
                OracleCommand cmd = new OracleCommand("UPDATE TUSER SET PHOTO=:photo   WHERE userid=:id", conn);
                Console.WriteLine(cmd.CommandText);
                cmd.Parameters.Add("photo",OracleType.Blob);
                cmd.Parameters["photo"].Value = photo;
                cmd.Parameters.Add("id", OracleType.Number);
                cmd.Parameters["id"].Value = id;
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();   
      

  2.   


    Byte[] blob = null;  
    FileStream fs = null;  
    const string sConn = "server=(local);
    Initial  Catalog=Northwind;
    UID=ctester;PWD=password";  
    try {  
    SqlConnection conn = new SqlConnection(sConn);  
    SqlCommand cmd = new SqlCommand("SELECT Picture FROM Categories WHERE  CategoryName='Builder'", conn);  
    cn.Open();  
    SqlDataReader sdr = cmd.ExecuteReader();  
    sdr.Read();   
    blob = new Byte[(sdr.GetBytes(0, 0, null, 0, int.MaxValue))];  
    sdr.GetBytes[0, 0, blob, 0, blob.Length);  
    sdr.Close();  
    conn.Close(); 
    fs = new FileStream("c:\\Builder.doc", FileMode.Create, FileAccess.Write);  
    fs.Write(blob, 0, blob.Length);  
    fs.Close();
      } 
    catch (SqlException e)

     Console.WriteLine("SQL Exception: " + e.Message); 
     } 
    catch (Exception e) 
    {  Console.WriteLine("Exception: "+ e.Message); 
     } 
      

  3.   

    裝ORACLE 提供的OO4O 安裝後會有DEMO