태그 : DB

DB 사용에 대한 고민.

현재 프로젝트 진행 정도는 DB와 네트워크 부분 수정 문제로 프로젝트가 잠시 중단 된 시점이다.

DB를 사용 하는 방법에는 2가지를 고려 중이다.

1. 클라이언트 쪽에서 DB 서버에 직접 접근을 한다.
2. 네트워크를 통해서 서버에 쿼리메시지를 보내고 서버는 받은 쿼리메시지를 이용해서 DB에 접근하는 방법이다.

그러나 DB에 접근 할 수 있는 계정을 호스트 마다 정할 수 있다는 점에서 약간 주춤 했던 것이 한가지 있다.
계정명@호스트명 이런식으로 정한다면 모든 호스트에 대한 설정이 문제가 됐었다.

이점에 대해서 검색을 해본 결과..

계정명@%

이렇게 하면 그 어떤 호스트에서도 접근이 가능하다. 그럼 1번의 방법을 이용한다면 클라이언트가 DB에 직접 접근이 가능하다.
이렇게 한다면 java.net 패키지 없이 서버 DB에 접근이 가능하다.

그러나 1번을 이용하지는 않으려고 생각중이다. 여러 클라이언트에서 DB에 접근을 시도 한다고 가정 했을 때 문제가 될 소지가 있다고 보기 때문이다.

2번의 방법을 이용한다면 서버쪽에 DB 쿼리 메시지를 처리해줄 프로그래밍만 해주면
클라이언트 <-네트워크이용-> 서버  <-DB이용-> MySQL
위와 같은 구조로 한다면 프로젝트의 질적인 부분에서도 더 좋다고 생각된다.

끝으로 현재 까지 진행 상황은
로그인, 계정 생성, 계정 삭제, 암호변경, 계정찾기 까지 모두 완료 된 상태이다.

by 만성피로 | 2008/11/16 20:08 | 정리할 자료들 | 트랙백 | 덧글(2)

DB 프로그래밍을 위한 설정.

이번 글은 DB 프로그래밍을 위한 설정을 위해 준비 했습니다.

와 ~ 짝!짝!짝!

교재에 나와 있기도 하고 뭐 그럭저럭 도움은 됐지만 이상하게 본인에 시스템에서는 문제가 있는 듯..;

그리고 다른 블로그를 봐도 각자 설정이 다 다르더라구요 ~

그래서 이러쿵 저러쿵 해보면서 갖고 있는 모든 감각과 지식에서 설정을 하고 드디어 모든 문제를 해결 봤습니다.

아마 모든 분들이 이 글을 보고 성공 할 수 있었으면 합니다.

일단 MySQL 설치를 하도록 합시다.

다운로드 링크 : http://dev.mysql.com/downloads/mysql/6.0.html

각자 취항에 맞는 버전을 받도록 하세요. 전 최신버전이 왠지 땡겨서 -_-..
단! 위 링크에는 없으나 MySQL4.0 이하 버전은 나중에 다른 문제가 생길 수 있으니 일단 피해주세요.(개인적인 생각 반영됨 -_-;)

기본 옵션으로 쭉쭉 설치합시다. 여기서 기본 케릭터 셋을 변경 할 수 있다면 변경하세요(euckr로 변경해야 함)
(참고 : 셋업버전입니다. 노셋업버전은 다른곳에 가서 알아보세요 -_-;)
그럼 이제 MySQL 설정 마법사로 설정을 하도록 합시다.

그림 외에 큰 설명 안하겠습니다 -_-/

설치 당시에 케릭터 셋이 euckr이 아니였다면 여기에서 반드시 케릭터셋을 변경해줘야 한다.


이 옵션 또한 선택하자!!


이 부분에서 패스워드 설정 후 다음 단계에서 문제가 되는 경우가 종종 있다고 한다. 위와 같이 비밀번호 설정을 하고 난 뒤에 다음 과정에서 문제가 발생 할 경우 비밀번호와 채크박스 채크를 해보도록 한다. 그래도 안되면 댓글 ~


본인은 모두 설정이 된 상태라 마직 설정에서 취소를 눌러줬다 -_-; 저기서 한가지라도 문제가 있다면 이전 설정을 다시 보도록 하자.

그리고 이렇게 설정이 모두 다 됐다면 환경변수 설정을 하자. 안해도 되는 것 같지만 그래도 필요한듯 하다 -_-;
환경변수는 MySQL의 bin 폴더를 환경변수에 지정해 준다.
예) C:\Program Files\MySQL\MySQL Server 6.0\bin 




























여기까지 됐다면 명령프롬프트 창에서 확인!
여기까지 됐다면 성공입니다. 자 그럼 이걸로 끝이냐? 아니죠 -_-/~

JDBC 드라이버 또한 설치해야 합니다

다운로드 링크 : http://dev.mysql.com/downloads/connector/j/5.1.html

이 역시 저는 최신버전이 떙기므로 ~~

JDBC는 설치가 쉬우니 큰 문제가 없을 듯 합니다.
다운 받은 파일을 자바설치 폴더에 복사하도록 합시다.
1. jdk1.6.0_07\jre\lib\ext
2. Java\jre1.6.0_07\lib\ext
두 경로에 넣어주시면 됩니다. 그러나! 꼭 두곳 다 넣을 필요는 없다고들 하는데
전 이클립스를 쓰기 때문에 1번 경로에만 넣어도 문제가 없었으나 명령프롬프트에서 컴파일 할 떄는 에러가 발생 하는 문제가 생겨서 두번 쨰 폴더에도 넣어뒀습니다.

그래도 에러가 나신다면 아까 했던 방식 처럼 환경변수에 등록을 하는 방법이 있습니다.
시스템 변수에 새로 만들기 선택 후 CLASSPATH 이름으로 JDBC 드라이버가 들어 있는 경로를 설정해줍니다.

이렇게 하면 일단은 끝입니다.
그리고 DB에 테이블을 만들고 필드를 만든 뒤 자바로 테스트 해보시면 됩니다.

이 정도 설명으로도 안된다 하시는 분도 재법 있는 듯 합니다.

아주~ 정확한 메뉴얼을 습득하게 되면 그 정보를 올리기는 하겠으나..딱히 없는 듯 합니다 -_-;

그럼 즐 DB코딩 하세요 -_-;

by 만성피로 | 2008/10/05 00:08 | 정리할 자료들 | 트랙백 | 덧글(0)

DB 프로그래밍.

프로젝트에 DB 프로그래밍이 필요한 부분 때문에 반드시 예습을 해야 하는 DB프로그래밍을 정복했다.

위에 이미지는 DB 프로그래밍과 씨름 끝에 모든 문제를 해결본 결과물이다.

mysql 4.1 이후 버전에는 언어설정이 복잡해진다는 점을 잊고 있었던 것이 화근이었다. 분명 지난 학기에 웹프로그래밍 과목을 수강하면서 mysql 버전문제에 대한 것을 들었는데 잊고 있던 터라 엄청난 시간 낭비를 한글설정에서 날려버렸다.

현재 mysql의 모든 언어 설정은 euckr로 변경 된 상태이다. 처음에는 이렇게 설정하면 될 것 같지만..
(이 설정 상태에서는 직접 INSERT INTO로 데이터를 써 넣으니 한글로 등록이 됐다. 자바의 문제를 의심.)

허나.. 이 설정을 해도 한글은 ??? 표시로 나타나게 된다.
교재나 블로그에 나와 있는 인코딩 방식은 잘 먹히지 않을 것이다. 

con = DriverManager.getConnection("jdbc:mysql://localhost/score?useUnicode=true&characterEncoding=UTF-8", "root", "root");

위 소스는 Connection형 객체인 con에 들어가야 내용 중 url값 뒤에 ?useUnicode=true&characterEncoding=UTF-8 을 추가적으로 붙여준것이다.
저렇게 한다면 정상적으로 DB에 한글로 저장되고 자바 소스에서 인코딩을 해 줄 필요가 없어진다.
그리고 DB를 활용하는 부분에 대해서는 소스가 따로 길거나 그렇지는 않다.

DB에 전달/가져오기는 명령어는 DB에서 쓰는 명령어를 쓰면 되므로 어렵지 않다.
명령어 예)
DB생성       - create database test
테이블 생성 - creat table test(name varchar(10), com int, kor int...);
내용 추가    - INSRT INTO test(name, com, kor...) VALUES ('test', 80, 50...);
조건 검색    - SELECT * FROM test where;
DB 삭제      - drop database test

그리고 DB를 사용하게 되면 데이터를 가져오기 전에 원하는 조건으로 정렬을 해서 가져올수 있어서
배열에 값을 넣어 정렬하는 복잡한 절차의 불편함이 없고 검색 기능을 쉽게 구현할 수 있다.

이로써 이번 프로젝트에서 가장 시간이 많이 걸리지 않을까 하는 부분이 해결이 됐다.
(실제로 이부분에서 도서관리 프로그램과 비슷한 프로그램을 짜기에는 DB활용이 아주 좋다는 것을 알게 됐다.)

그럼 이번 글은 여기까지다.


설치 과정에서 어려울수도 있는 부분에 대해서 정리.
mysql 4.0 이후 버전에서의 언어 설정에 주의 할 것.
classpath(자바 설치 할 떄 환경변수 설정한것과 비슷한) 설정을 해야한다.
블로그의 자료들은 대부분 오라클이나 톰켓과도 연동 하는 방식으로 설명이 많으나 실제로는 mysql과 jdbc 드라이버만 있으면 된다.
버전에 따른 문제점은 발견하기 힘들고 최신버젼으로 설치해본 결과 잘 동작한다.

!!!!!!!!!!! 여유가 될 때 설치방법과 예제코드를 올려놓겠다.

by 만성피로 | 2008/10/03 01:04 | 정리할 자료들 | 트랙백 | 덧글(1)

◀ 이전 페이지다음 페이지 ▶