Oracle Clob字段过长保存出错改如何解决?

互联网 18-5-26
出现此问题的原因是主要是因为拼接的SQL语句过长导致,

一般来说Oracle的SQL执行语句,英文不能超过4000字符,中文不能超过2000字符,所以一旦Clob字段的内容比较多,就会出现拼接的SQL

的长度过长,从而导致问题的出现。

比较简单的解决方法就是使用参数化查询来执行SQL语句,示例代码如下

OracleConnection Con = new System.Data.OracleClient.OracleConnection(connectStr);             try             {  decimal MsgId = 20;                 string InsertSql = @"insert into MSG                                   (ID, TITLE, CONTENT, SORT, TIME, AUTHOR, GROUP)                                 values                                   (:ID,                                    :TITLE,                                    :CONTENT,                                    :SORT,                                    :TIME,                                    :AUTHOR,                                    :GROUP)";  Con.Open();                 OracleCommand cmd = new OracleCommand(InsertSql, Con);                 OracleParameter TITLE = new OracleParameter("TITLE", OracleType.NVarChar);                 OracleParameter CONTENT = new OracleParameter("CONTENT", OracleType.Clob);                 OracleParameter GID = new OracleParameter("GID", OracleType.NVarChar);                 OracleParameter SORT = new OracleParameter("SORT", OracleType.Number);                 OracleParameter TIME = new OracleParameter("TIME", OracleType.DateTime);                 OracleParameter AUTHOR = new OracleParameter("AUTHOR", OracleType.NVarChar);                 OracleParameter GROUP = new OracleParameter("GROUP", OracleType.NVarChar);  TITLE.Value = Model.MsgTitle;  CONTENT.Value = Model.MsgContent;  ID.Value = Guid.NewGuid().ToString();  SORT.Value = MsgId;  TIME.Value = DateTime.Now;  AUTHOR.Value = Model.MsgAuthor;  GROUP.Value = Model.GroupId;                 cmd.Parameters.Add(MSGTITLE);                 cmd.Parameters.Add(MSGCONTENT);                 cmd.Parameters.Add(MSGID);                 cmd.Parameters.Add(MSGSORT);                 cmd.Parameters.Add(MSGTIME);                 cmd.Parameters.Add(MSGAUTHOR);                 cmd.Parameters.Add(MGSGROUP);                 cmd.ExecuteNonQuery();                 Con.Close();               }             catch (Exception ex)             {               }

以上就是 Oracle Clob字段过长保存出错改如何解决?的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 时候
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C# 利用委托进行异步处理实例代码

相关资讯