Oracle Clob欄位過長儲存出錯改如何解決?

來源:互聯網
上載者:User
出現此問題的原因是主要是因為拼接的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)           {           }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.