[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

레이블이 Access인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Access인 게시물을 표시합니다. 모든 게시물 표시

2016년 2월 23일 화요일

[DB]이클립스에서 DBEdit로 Access(.mdb) 연결하기..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

자바에서 DB를 Access(.mdb)로 작업을 하다보니까 쿼리브라우저 같은게 필요했다. 오라클작업할 때는 오렌지나 토드등이 있고 MS-SQL쓰면 쿼리브라우저가 제공이 되는데 Access를 쓰니까 쿼리테스트를 할 수가 없었다.(내가 못찾는건지 모르겠지만.... ㅡ..ㅡ) 자바 소스에서 쿼리를 날릴수는 있지만 간단한 쿼리는 그냥 작성한다고 하지만 좀 복잡해 지면 쿼리가 맞는지 테스트 해볼 수 있어야 한다.

그래서 이클립스에서 디비를 연결하는 플러그인중하나인 DBEdit를 사용했다. 어차피 JDBC로 연결하기 때문에 꼭 DBEdit가 아니어도 상관이 없을 듯 하다. DBEdit는 이 곳에서 다운받을 수 있다.(설치에 관해서는 굳이 언급하지 않겠다.)

DBEdit

DBEdit 퍼스펙티브에서 MDB를 연결하기 위해서 새로운 Connection을 만든다.

저번에 포스팅한 JDBC-ODBC를 이용한 MDB연결에서는 ODBC등록을 통해서 JDBC연결을 했는데 여기서는 JDBC 드라이버 파일을 등록하지 않으면 연결 할 수가 없었다. 그래서 여기서는 ODBC를 사용하지 않고 일반적인 JDBC연결을 사용한다. 여기서 사용한 것은 StelsMDB 1.0이다. StelsMDB는 MDB용 JDBC드라이버인데 상용드라이버이다.



그래서 구입하지 않은  Trial버전에서는 한번에 50건의 쿼리만 실행할 수 있고 Select쿼리는 첫 1,000건만 가져올 수 있는데 쿼리테스트 용도로는 크게 문제가 안된다고 생각한다.

StelsMDB 파일

압축을 풀면 위와같은 폴더가 나오는데 examples는 StelsMBC를 사용하는 예제 코드가 들어 있고 mdbdriver에 JDBC용 jar파일들이 들어 있다. 여기서는이 jar파일들을 사용할 것이다.

DBEdit Connection Configuration : Common

 다시 DBEdit의 커넥션 생성으로 돌아와서 JDBC연결을 위한 설정을 해준다.

JDBC Driver - jstels.jdbc.mdb.MDBDriver
Server URL - jdbc:jstels:mdb:D:\test\Database.mdb
User와 Password의 경우는 필요한 대로 입력해 주면 된다.

DBEdit Connection Configuration : Classpath

Classpath탭으로 가서 Add Archive로 아래의 StelsMDB가 제공하는 jar파일 4개를 추가해 준다.

StelsMDB JDBC jar

이렇게 추가하고 연결을 하면 MDB연결이 완료된다.

연결된 MDB

Tables 뷰에서 디비구조를 볼수가 있고 해당 테이블을 더블클릭하면 테이블의 내용을 볼 수 있다.

Instant SQL 테스트

그리고 우리가 바라는 쿼리테스트는 Instant SQL에서 쿼리를 테스트해볼 수 있고 결과값도 잘 나온다.


덧) Trial버전은 한번에 50건을 다 사용하면 이클립스 한번 껐다 켜주면 된다.
그리고 확실히 프로젝트에서 사용할때는(실제로는 ODBC쓰고 쿼리테스트만 stels mdb를 사용하니까 드라이버가 달라서 복잡한 코드에서는 따로 돌아간다. 서로 지원하는 양식이 좀 달라서..... 그리고 확실히 지원안되는게 많다. 쿼리가 좀 복잡해 지면 stels mdb에서 지원안된다고 나오는것들이 있다. 분명히 맞는데 안된단다. 이런점 참고하고 써야지 싶다.

2016년 2월 5일 금요일

[DB]MDB 사용시에 "이 작업에서는 업데이트할 수 있는 쿼리를 사용해야 합니다."라는 오류메시지..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

사용자 삽입 이미지

MS Access의 확장자인 MDB를 사용할 때 위와 같은 메시지를 발견했다. (2번이나.. ㅡ..ㅡ)

"이 작업을 업데이트할 수 있는 쿼리를 사용해야 합니다." 평소 코딩할 때 보는 에러와는 다른 익숙치 않은 메시지.. 처음 봤을때잘 이해가 되지 않았다. 업데이트 할 수 있는 쿼리가 필요하다니... 이건 뭔소린가...

실제 문제는 사실 별거 아니다. 이건 파일 권한 문제이다. 웹페이지 소스가 파일을 사용하려면 권한이 있어야 하는데 해당폴더에 이 권한이 부여되지 않아서 발생하는 문제로 권한만 부여해 주면 된다.

사용자 삽입 이미지
해당 파일의 등록정보를 열어서 [보안]탭부분에서 Users에게 권한을 주면 해결되는 문제이다. 권한만 주면 정상적으로 mdb를 사용가능하다.



사용자 삽입 이미지

다만 위와같이 XP에서는 파일의 등록정보에서 기본적으로 보안탭이 보이지 않도록 설정되어 있기 때문에 폴더옵션에서 설정을 해주어야 한다.

사용자 삽입 이미지

파일탐색기에서 [도구] - [폴더옵션]에 들어가서 보기탭에서 "모든 사용자에게 돌일한 폴더 공유 원한 지정"부분의 체크를풀어주면 보안탭을 볼 수 있다.

별거아니지만 두번이나 만나고 한번에 생각이 안나서.. ㅡ..ㅡ