最近刚接触到oracle。。就遇到一个问题,就是存储大文本的问题,在网站查找解决办法的时候,发现很多人都遇到类似的问题,一开始我也在csdn的asp.net版上问了,好象都不是我想要的,最后在国外的一个站点上找到一段代码(vb.net),我改成了C#的:
//InsertSql 是直接插入的语句,Content是大文本
public void InsertContent(string InsertSql,string Content)
{
try
{
OraHelper DB=new OraHelper();
System.Data.OracleClient.OracleConnection Con=(System.Data.OracleClient.OracleConnection)DB.OpenDb();
System.Data.OracleClient.OracleCommand Cmd=new OracleCommand(InsertSql,Con);
System.Data.OracleClient.OracleParameter Temp=new OracleParameter("TempContent",OracleType.Clob);
Temp.Direction=ParameterDirection.Input;
Temp.Value=Content;
Cmd.Parameters.Add(Temp);
Cmd.ExecuteNonQuery();
}
catch(Exception E)
{
throw new Exception("插入正文出错:"+E.Message);
}
finally
{
Con.Close();
}
}
上面代码测试通过,调用方式为:
Content为clob类型:
InsertContent("insert into tableClob(id,Content) values(1,:TempContent)",BigContent)
另外:读clob字段.。net有专门的方法
希望对遇到同样的问题的人有点帮助。