您的位置:首页 > 数据库 > Oracle

用C#将sql中的blob数据存储到oracle中

2005-05-26 23:39 507 查看
SqlConnection con = new SqlConnection("Server=(local);uid=sa;pwd=;database=mydatabase");
                        SqlDataAdapter da = new SqlDataAdapter("select id,title,blobcontent from uNews",con);
                        DataSet ds = new DataSet("uNews");
                        byte[] blobcontent = null;
                        da.Fill(ds, "uNews");
                        foreach(DataRow dr in ds.Tables[0].Rows)
                        {                               
                                blobcontent =  (byte[])dr["blobcontent"];  //从sql server中取出blobcontent字段
                                this.sqlins =  "insert into unews (id,title,blobcontent) values ("+dr["id"].ToString()+",'"+dr["title"].ToString()+"',:blobcontent)";                               
                                this.conn.ExecwithReturnBinary(this.sqlins,"blobcontent",blobcontent);
                        }

其中conn是一个单独的类。其方法ExecwithReturnBinary在下面:

public void ExecwithReturnBinary(string cmdText,string BinaryContent,byte[] byteBlob)
                {                       
                        com=new OracleCommand(cmdText,conn);
                        com.CommandType=CommandType.Text;
                        com.CommandText=cmdText;
                        com.Parameters.Add(BinaryContent, System.Data.OracleClient.OracleType.Blob,byteBlob.Length).Value= byteBlob;
                        com.ExecuteNonQuery();
                }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息