因为Oracle的SQL语句不能过长,大约4K限制,所以如果保存时Clob字段的内容过长的话会导致保存出错,提示"ORA-01704:文字字符串过长 "
我的解决方案是:
string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings[""].ConnectionString;
// "Password=ncipds;User ID=ncipds;Data Source=ncIPDS;load balance timeout=1800;connection lifetime=1800;";//写连接串
OracleConnection Con = new OracleConnection(ConnectionString);//创建一个新连接
try
{
// 打开数据库连接
Con.Open();
OracleCommand cmd = new OracleCommand(cmdText, Con);
OracleParameter op = new OracleParameter("Content", OracleType.Clob);
op.Value = clobContent;
cmd.Parameters.Add(op);
cmd.ExecuteNonQuery();
}
catch (Exception objErr)
{
//ida.DoTransRollback();
throw new Exception(objErr.Message);
}
finally
{
Con.Close();
}