너무 긴 Oracle Clob 필드 저장 문제를 해결하는 방법은 무엇입니까?

零下一度
풀어 주다: 2018-05-26 16:02:14
원래의
3471명이 탐색했습니다.

이 문제가 발생하는 이유는 주로 스플라이싱된 SQL 문이 너무 길기 때문입니다.

일반적으로 Oracle의 SQL 실행 문은 영어로 4000자, 중국어로 2000자를 초과할 수 없으므로 일단 Clob 필드의 내용이 큽니다. , 스플라이싱된 SQL

의 길이가 너무 길어져서 문제가 발생하게 됩니다.

더 간단한 해결책은 매개변수화된 query를 사용하여 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 필드 저장 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!