블로그 이미지

It's iHWAN

나의 생각과 가치, 생활 그리고 IT이야기... by iHWAN


'oracle'에 해당되는 글 4건

  1. 2007/06/22 [JDBC] VARCHAR2 긴 텍스트가 들어가지 않는 경우
  2. 2007/03/31 Commit & Rollback
  3. 2006/08/08 DISTINCT(2)
  4. 2006/08/08 INDEX

[JDBC] VARCHAR2 긴 텍스트가 들어가지 않는 경우

JDBC로 VARCHAR2(4000)에 긴 텍스트가 입력이 되지 않는 현상 발생 할 때는 아래와 같은 문제를 의심해 볼 필요가 있다.

원인
JDBC에서 한글 인코딩 사이즈를 제대로 확인하지 못해서 입력을 못함.

해결
1) JDBC 드라이버 업그레이드
2) CLOB, LONG 등으로 데이터 타입 변경


개발 환경은 JVM 1.3, Weblogic 7.0 이고, 한글 1700자 이상을 입력할 시 해당 문제가 발생하였다.

게시판에 글이 안들어가서 몇일동안 직접 쿼리도 실행해보고, 로그도 확인해보았으나, 문제를 확인 할 수 없었다. 추적해본 결과 문제는 JDBC에 있었다.

이후, 자바 서비스 넷에서 비슷한 문제를 발견하고 분석된 글을 찾을 수 있었다.

아래 URL을 참고하면 발생하는 원인에 대한 분석과 해결책을 자세히 알 수 있다.

[참고]PreparedStatement로 varchar2(4000)에 한글 4000bytes를 못넣는다?? [JavaServiceNet, 허종진님]
Comment 0 Trackback 0

Trackback : http://www.ihwan.com/trackback/2511096 관련글 쓰기

Top

Commit & Rollback


사용자 삽입 이미지


오라클이라는 가장 널리 사용되는 데이터베이스 프로그램이 있다.

데이터 베이스란 데이터를 쉽게 접근, 처리, 갱신할 수 있도록 구성한 것이다.

SQL이라는 언어로 자료를 쓰기/수정/삭제 할 수 있다.

오라클은 데이터를 무심코 데이터가 변경되는 것을 막기 위해, 변경할 경우에는 항상 Commit을 해야 한다.

또한, Commit을 하기 전에는 언제나 Rollback을 통해서 자료를 변경하기 전에도 그 전의 상태도 돌아갈 수 있다.

바꿔 말하면, Commit을 하게 되면 영원히 Rollback을 할 수 가 없다.




ps. 난 Commit을 너무 자주 한다. 그래서 복구되지 않는 게 많은 것 같다.

Comment 0 Trackback 0

Trackback : http://www.ihwan.com/trackback/2511063 관련글 쓰기

Top

DISTINCT

DISTINCT
:하나의 컬럼에서 중복값을 제외하고 보여줄 때 사용.


사용 예제
SELECT DISTINCT name FROM member;

member 테이블에서 name 필드가 동일한것은 한번만 출력함.
Comment 2 Trackback 0
  1. BlogIcon 고준형 2006/08/12 06:49 address edit & delete reply

    야... 애들 주소 아는거 있으면.. 다들좀 알아다가

    mymalamute@nate.com 으로 메일좀 보내주라...

    애들한테 편지좀 써볼라공.. 군대 있는 애들도 좀 알수 있으면 알려줘... 너 사는데랑도.. ㅋ

    • BlogIcon ihwan 2006/08/15 15:45 address edit & delete

      보냈다~

Trackback : http://www.ihwan.com/trackback/583 관련글 쓰기

Top

INDEX

INDEX
: 데이터를 보다 빨리 찾을 수 있도록 도와주는 선택적 구조로서 미리 정렬되어 정렬된 자료를 빨리 찾기 위해 사용.


장점 : 자료를 쉽고 빠르게 검색 가능.
단점 : 많은 수의 인덱스가 있으면 입력, 수정, 삭제시 많은 과부하 발생


INDEX에 적합한 대상 여부

  1. 쿼리가 작은 양의 결과를 가져오는 경우 테이블 인덱스 사용.
  2. 수정이 많은 테이블이나 컬럼에는 하지 않기.
  3. WHERE이 자주 사용되는 테이블에 대해서 사용.
  4. WHERE절에서 가장 자주 지정되는 컬럼 선택.
  5. 유일한 값을 많이 갖지 못한 컬럼은 인덱싱 하지 않음.
  6. 유일한 값을 갖는 컬럼은 인덱스 사용.
  7. 두개 이상의 테이블을 조인하기 위해 사용되는 컬럼 인덱싱.


INDEX 만들기

CREATE INDEX 인덱스이름 ON 테이블이름(컬럼이름,컬럼이름...)

Ex) CREATE INDEX member_idx1 ON member(member_id)
-> member 테이블에  member_id로 member_idx1 이름의 index 생성

INDEX 삭제
DROP INDEX 인덱스이름


ORCLE INDEX SQL HINT

  SELECT /*+ INDEX(인덱스명)  */


출처 : 쇼핑몰 제작으로 배우는 오라클 9i (길벗)
Comment 0 Trackback 0

Trackback : http://www.ihwan.com/trackback/582 관련글 쓰기

Top

prev 1 next