2014년 8월 6일 수요일

Raw/Long Raw Type에 관하여[오라클개발자교육/오라클/ORACLE강좌/오라클교육잘하는곳/오라클교육추천/ORACLE실무교육/ORACLE/ORACLE교육/ORACLE학원/오라클실무교육]

1. 이진 Data또는 Byte문자열을 위한것 

2. RAW및 LONG RAW는 Data전송시 인스턴스에 사용자 세션을 접속하는 SQL*Net과 
Inport/Export Utility가 문자변환을 수행하지 않는다는 점을 제외하면 Varchar2 Data 
Type과 같은 가변길이 Data 유형이다. 

3. Oracle이 RAW나 LONG RAW를 CHAR로 상호 변환하는 경우 한 문자에 4bit가 해당되는 
16진수 형태로 표현된다.(11001011 은 'CB') 

4.  Long Raw는 Index될수 없으나 Raw는 Index 될수있다. 

-------------------------- 
자바에서 LongRaw 예 
-------------------------- 
1. 읽을때(detail이란 컬럼이 longraw 입니다.) 

try{ 
            InputStream vIcode        =null; 
            BufferedReader vvcode    =null; 

            Statement stmt = con.createStatement(); 
            ResultSet rs = stmt.executeQuery(" select name,title,detail,re_id,ip,count,to_char(ilsi,'dd/MON/yyyy(hh:mi)'),path,e_mail,root_id,depth  from db_board where id = "+szID); 
            rs.next(); 
            szName = rs.getString(1); 
            szTitle = rs.getString(2); 
            
            szDetail= hangul.han(new String(rs.getBytes(3),0));            
            szRe_Id = rs.getString(4); 
            szIp = rs.getString(5); 
            iCount = rs.getInt(6); 
            szIlsi = rs.getString(7); 
            szPath = rs.getString(8); 
            szE_mail = rs.getString(9); 
            szRoot_Id = rs.getString(10); 
            szDepth = rs.getString(11); 
            iCount++; 
            rs.close(); 
            stmt.executeUpdate(" update db_board set count=count+1 where id = "+szID); 
            stmt.close(); 
    
      } 

2. 저장하는 예 

PreparedStatement ps = con.prepareStatement("insert into db_board(id,re_id,name,title,detail,passwd,count,ip,ilsi,e_mail,is_re,board_gbn,path,root_id,depth) values (?,0,?,?,?,?,0,?,sysdate,?,'N',?,?,?,0)"); 

          ps.setInt(1,iId); 
          ps.setString(2,hangul.han(szName)); 
          ps.setString(3,hangul.han(szTitle)); 

////////////////////////////////////////////////////////////////////////// 
          StringBuffer szbWriteDetail = new StringBuffer(); 
          for( int i = 0,len=szDetail.length() ; i < len ; i++){ 
              if( szDetail.charAt(i) == ' ') 
                  szbWriteDetail.append(" "); 
              else if( szDetail.charAt(i) == '<') 
                  szbWriteDetail.append("<"); 
              else if( szDetail.charAt(i) == '>') 
                  szbWriteDetail.append(">"); 
              else if( szDetail.charAt(i) == '\n') 
                  szbWriteDetail.append("<br>"); 
              else 
                  szbWriteDetail.append(szDetail.charAt(i)); 
          } 
//////////////////////////////////////////////////////////////////////////// 

          StringBufferInputStream abc = new  StringBufferInputStream(szbWriteDetail.toString()); 
          ps.setBinaryStream(4,abc,szbWriteDetail.length()); 
          ps.setString(5,szPasswd); 
          ps.setString(6,szIp); 
          ps.setString(7,szE_mail); 
          ps.setString(8,szBoard_Gbn); 
          ps.setString(9,szPath); 
          ps.setInt(10,iId); 

          ps.executeUpdate( ); 



평일주간[100%환급과정]
(8/08)Spring,MyBatis,Hibernate실무과정
(8/08)C#4.0,WinForm,ADO.NET
(8/11)SQL기초에서 Schema Object까지
(8/18)자바기초JDBC,Servlet/JSP까지
(8/18)안드로이드개발자과정
(8/18)PL/SQL,ORACLE HINT,TUNING
(8/25)오라클자바채용확정교육
평일야간[개인80%환급]
(8/11)SQL기초에서실무까지
(8/11)안드로이드개발자과정
(8/12)Spring, MyBatis, Hibernate
(8/13)C#,Network,ADO.NET,ASP.NET
(8/13)HTML5,CSS3,Ajax,jQuery마스터
(8/28)자바JSP,jQuery,Spring,MyBatis
주말주간[개인80%환급]
(8/09)SQL기초에서실무까지
(8/09)안드로이드개발자과정
(8/09)자바JSP,Ajax,jQuery,Spring,MyBatis
(8/16)C#,ASP.NET마스터(8/16)웹퍼블리싱 마스터
(8/16)Spring, MyBatis, Hibernate
(8/23)JAVA,Network&WEB&Framework
주말야간[개인80%환급]
(8/09)SQL기초에서실무까지
(8/23)JAVA,Network&WEB&Framework

댓글 없음:

댓글 쓰기