database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 3396 게시물 읽기
No. 3396
DB2 JDBC에서 insert 시 오류 조언좀 주세요.
작성자
이번엔제대로
작성일
2014-07-30 15:16
조회수
4,216
안녕하세요.
여기저기 구글링 하다가 안되서 질문드려봅니다.
 
현재 DB가 IBM 메인프레임에 설치되어 있는 DB2입니다.  
 
간략하게 이전 개발환경은 이야기 드리면
클라이언트 단에서 등록 버튼 누르면 데이터가 서버로 넘어 옵니다.
spring3 버전 사용하고 있구요.  어플리케이션 서버는 websphere구요.
그럼 여기서 DB2에다가 데이터를 넣기 위해서
받은 데이터를 조립해서 메세지를 만들고 MQ로 쏩니다. 
그걸 메인프레임에서 끌어와서 DB2로 넣는 방법인데요.
 
지금 두가지 문제가 있습니다.
 
<첫번째>
새로운 프로젝트에서는 MQ를 안쓰고 spring에서 직접 JdbcTemplate을 사용해서 
데이터를 DB2에다가 넣을려고 합니다.
 
그래서 CRUD를 만들고 insert jUnit 으로 테스트를 했을때 Exception없이 잘 되었습니다. 다 됐다고 생각했으나 메인프레임 담당하시는 분에게 물어보니
데이터가 깨져있다고 합니다. 
예를 들어 "CAD"를 넣으면 한글이 깨져서 보이는것 처럼 깨져있네요.
그리고 만약 "05"를 넣으면 "3035" 값이 들어가있습니다.
문자는 깨지고 숫자는 저렇게 들어가고. (http://www.string-functions.com/string-hex.aspx)
 
물어보니 hexadecimal 형태로 데이터가 저장이 된다는데요.
05를 넣어도 3035로 저장되는거 보니 DB2에서 알아서 conversion해서 저장이 되는거 같은데..
 
문제는 제가 hexadecimal 형태로 보내도 보내는 근본적인 타입은 String이니 전부다 깨져서 들어갑니다. 
그래서 ebcdic 형태로 보내봐도 어차피 저는 String으로 넘기기 때문에 깨집니다.
 
<두번째>
이제 소스를 test폴더에서 실제 돌아갈 폴더에 이관했습니다(테스트서버)
메인페이지에서 등록 버튼을 누르면 등록 잘 됩니다(물론 첫번째에서 이야기했듯이 데이터는 깨져서 들어갑니다), 
그런데 다시 새로운값 입력해서 등록하면 org.springframework.jdbc.UncategrizedSQLException : PreparedStatementCallback이 납니다. 이유는 can not convert string to byte[] 라고 뜨는데요. 
궁금한건 왜 첫번째는 성공을 했고 두번째부터 이 오류가 나는지 궁금합니다.
결국은 insert할때 데이터를 byte[]로 넘겨야 하는건가요? (물론 해봤지만 데이터가 다 깨져서 들어갑니다.)
 
넘길때 String, byte[], String(hexadeciaml 형태), String (ebcdic 형태)로 해봤으나 전부 안됐습니다.
제가 해결해야 하는건지 메인프레임 개발자가 해야 하는건지요..
 
 
DB2 에 string hexadecimal로 변환하는 자체 함수가 있나요? 오라클 TO_CHAR같은거..
 
위와 같은 환경에서 db2에 데이터 등록 경험이 있으신분 조언좀 주세요.
 
[Top]
No.
제목
작성자
작성일
조회
3399db2move Export시 권한 문제 질문
김홍원
2014-08-27
4144
3398function 작성시 오류 [2]
김홍원
2014-08-21
4728
3397DB2 넘버링 문의 드려요 [1]
패니
2014-08-07
4038
3396DB2 JDBC에서 insert 시 오류 조언좀 주세요.
이번엔제대로
2014-07-30
4216
3395DB2 계정에 관련하여 문의드립니다. [1]
삼룡이
2014-07-17
4235
3394자바에서 AS400에 연결중 오류가 나요..
조우연
2014-07-07
3890
3393full outer join (+) (+) 사용시 에러 [2]
라클리
2014-06-30
4414
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다