用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();
}
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();
}
相关文章推荐
- 学习操作oracle.sql.Blob数据类型,向数据库插入Blob数据类型的数据
- C# 执行多条SQL语句,实现数据库事务(通过Hashtable存储数据) .
- [SQL]向3个表插入数据的存储过程 和 C# 代码
- C# 执行多条SQL语句,实现数据库事务(通过Hashtable存储数据) .
- oracle blob数据类型存储读取的小例子
- 在C#中存储Blob类型的数据,
- Oracle中BLOB字段存储4GB以下视频数据的方法
- C# 读写 Oracle BLOB 数据
- C# 读写 Oracle BLOB 数据
- 如何用SQL操作oracle的blob字段里的字符串数据!
- oracle存储大数据类型(Clob/Blob)
- 关于存储图片,oracle.sql.blob在jndi连接池环境下转化异常的解决方案
- MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询
- Oracle中BLOB字段存储4GB以下视频数据的方法
- ORACLE 存储过程及TABLE里的数据用PL/SQL备份及用PLUS SQL还原
- 利用sql将存储在 oracle blob中的图片等文件写出
- Oracle中BLOB字段存储4GB以下视频数据的方法
- sql生成(c#调用存储过程返回数据表)代码的存储过程
- oracle 中 blob类型数据修改(从file保存到数据库,从java.sql.Blob 保存到oracle.sql.BLOB )
- C# 用SqlBulkCopy 批量插入oracle数据 遇到了 ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效