程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++ 讀寫Oracle--Clob對象,注意數據編碼長度

c++ 讀寫Oracle--Clob對象,注意數據編碼長度

編輯:C++入門知識

[cpp]
  
<strong>c++ 讀寫Clob對象,注意數據編碼長度 
       </strong> 
讀 
//p_rs 為resultset 
        if (p_rs->next()) 
        {     
           Clob clob = p_rs->getClob(4); 
            if (!clob.isNull()) 
            {               
                //clob.setCharSetForm(OCCI_SQLCS_IMPLICIT); //本地編碼格式,貌似有問題 
                clob.setCharSetId("UTF8");  //數據庫是utf-8存儲的 
 
                unsigned int cloblen = clob.length(); 
                if (cloblen > 0) 
                { 
                    clob.open(OCCI_LOB_READONLY); 
                    //utf-8必須乘以3,不然只能取實際數據的1/3 
                    clob.read(cloblen * 3, (unsigned char*)msg_content, cloblen * 3, 1); 
                    clob.close(); 
                } 
            } 
          } 
寫 
 就當是varchar來寫,沒有問題。普通的sql支持。 
 不過sql語句在oracle裡面是有長度限制的,所以當數據特別長的時候,可能要考慮使用Clob加write方法來搞定。 
作者:RunBoying

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved