데이타에 한글로 공백이 있는 경우 값을 가져오지 못하고 오류가 발생하는 경우 처리
(오류 : [IBM][SQLServer JDBC Driver]Transliteration failed)
(오류 : [IBM][SQLServer JDBC Driver]Transliteration failed)
 public Vector getNewEmpInfo(String emp_no) throws Exception{
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        Vector vector = new Vector();
        try{
         pstmt = conn.prepareStatement(sqlGetNewEmpInfo);
         pstmt.setString(1, emp_no);  
        
    rs = pstmt.executeQuery();
   
   while (rs.next())
   {
    Parameters param = new Parameters();
    ResultSetMetaData rsmd = rs.getMetaData();
    for (int i = 0; i < rsmd.getColumnCount(); i++)
    {
     param.setParameter(rsmd.getColumnName(i + 1).toLowerCase(),
       Convert.N2S(rs.getString(rsmd.getColumnName(i + 1))));
     //logger.debug(rsmd.getColumnName(i + 1).toLowerCase() + " ;;;;;" + rs.getString(rsmd.getColumnName(i + 1)));
    }
    vector.addElement(param);    
   }
  }catch(Exception e){   
   throw e;
  }finally{
   if( rs != null) try{ rs.close(); rs=null;} catch(Exception e2){};
   if( pstmt != null) try{ pstmt.close(); pstmt = null; }catch(Exception e2){};
  }
  
  return vector;
 } 와 같이 값을 가져오는 경우 값에 한글과공백이 있는 경우 오류가 발생할 수 있는데..
이때는
 private String sqlGetNewEmpInfo  = "  " +
         " SELECT  a.empno ,a.kname, a.email,a.gradecodeid, b.teamcode org_cd," + 
         " cast(b.teamname as varchar) org_name, b.startdate org_start_ymd, b.enddate org_end_date, b.depth org_level " +         
         " from KcscOds.dbo.x_usermaster a, " +
         " KcscOds.dbo.x_teammaster b  where a.empno=? " +
         " and a.teamcode = b.teamcode ";
와 같이 cast을 통해서 명시적으로 데이타 타입을 변환시켜주면 오류가 없어진다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 | 
|---|---|---|---|---|
| » | 데이타에 한글로 공백이 있는 경우 값을 가져오지 못하고 오류가 발생하는 경우 처리 | 구퍼 | 2009.03.23 | 6832 | 
| 5 | mssql update예제(select ~ update) | 구퍼 | 2008.10.31 | 7247 | 
| 4 | Update ~ Select 구문 예제 | 구퍼 | 2008.10.31 | 5772 | 
| 3 | 분산트랜젝션 가능여부 확인 방법 | 하늘과컴 | 2008.05.29 | 6119 | 
| 2 | 순환구조에서 임시테이블에 하위 조직을 엮어서 넣는 프로시져 | 하늘과컴 | 2007.10.01 | 6257 | 
| 1 | ORACLE -> MSSQL 시 LPAD 처리 | 운영자 | 2003.10.08 | 5348 | 
