SQLServer 데이터 Oracle 이전 주의사항

2624 단어 OaclesqlOSJ#
sqlserver Oacle 이식 주의사항
1. sqlmap 에서 selection 문 구 를 검사 하려 면 resultClass = "java. util. HashMap" 을 사용 해 야 합 니 다. Oacle 버 전의 sqlmap 구문 에서 selection 된 필드 는 as "필드 이름 xxx" 로 필드 의 별명 을 지정 해 야 합 니 다. Oacle 기본 조회 결과 각 필드 이름 이 대문자 로 바 뀌 었 기 때 문 입 니 다. sqlsever 버 전과 일치 하려 면 as 로 필드 별명 을 지정 해 야 합 니 다.
2. 표 이름 뒤의 별명 을 as 로 지정 할 지 여 부 를 검사 합 니 다. as 를 제거 하면
3. sqlmap 에서 where 조건 에 xx = '가 있 는 지 확인 하고 xx is null 로 변경 합 니 다.
4. sqlmap 에 isnull () 함수 가 nvl () 함수 로 바 뀌 었 는 지 확인 합 니 다.
5. sqlmap 에 top 이 있 는 지 확인 하고 있 으 면 rownum 으로 개조 합 니 다.
6. sqlmap 에 substring 이 있 는 지 확인 하고 substr 로 교체 할 수 있 습 니 다.
7. sqlmap 에서 + 연결 기 호 를 사용 하 는 지 확인 합 니 다. 유용 하 다 면 | | 교체
8. 이식 시 필드 형식 sqlserver 에서 text 는 Oacle 의 clob 에 대응 하고 sqlserver 의 image 형식 은 Oacle 의 blobjava 프로그램 처리 text 나 clob 형식 과 유사 합 니 다.
Object extGroupObj = ((HashMap)list.get(i)).get("extDefcode");
extGrpStr = extGroupObj.toString();
if(extGroupObj instanceof oracle.sql.CLOB){
try{
   Reader reader=((oracle.sql.CLOB)clobData).getCharacterStream();
         BufferedReader br=new BufferedReader(reader,8192);
         char[] cbuf= new char[8192];
         int j=0;
         StringBuffer bf = new StringBuffer();
         while((j=br.read(cbuf))!=-1)
         {
          bf.append(cbuf,0,j);
         }
         retStr=bf.toString();
  }catch(Exception ex){
   //logger.error("  clob      ",ex);
  }
}
   image blob,      
Object byteTmp= info.get("ruleGroupCert");
     byte[] byteCode = null;
     if(byteTmp instanceof oracle.sql.BLOB ){
     byte[] byteCode = null;
     InputStream in =null;
     try{
      oracle.sql.BLOB blobtmp = (oracle.sql.BLOB) byteTmp;
     in = blobtmp.getBinaryStream();
     int bsize =  blobtmp.getBufferSize();
     ByteArrayOutputStream   os   =   new   ByteArrayOutputStream(); 
     byte[] bufbyte = new byte[bsize];
     //in.read(byteCode);
     int   len   =   0; 
           while   ((len   =   in.read(bufbyte))   !=   -1) {
                   os.write(bufbyte,   0,   len); 
           }
           byteCode=os.toByteArray();
     }catch(Exception ex){
      logger.error("      blob    ",ex);
     }finally{
      try {
       in.close();
      } catch (IOException e) {
       e.printStackTrace();
      }
     }
     }else{
      byteCode= (byte[])byteTmp;
     }

좋은 웹페이지 즐겨찾기