Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[5552] [답변] KIMOPEN/ Delphi에서 MDB사용하기
kiwons [ ] 2292 읽음    1999-01-18 23:17
굉장히 깁니다. 갈무리를 하시고, 실제로 DB를 연결하실때 프린터로 뽑으신후
차례차례 따라하시면 별무리 없을 겁니다.

델파이에서 MS Access DB를 연결하기는 의외로 쉽습니다.
제가 경험한 결과를 말씀드리겠습니다.
저도 맨 처음 Access DB를 연결하는 방법은 성공했는데, 그 후에 중요한 문제는
Access DB를 연동할 때마다 아이디와 패스워드를 물어보는 통에 문제가 있었거든요...
아무튼 모든 것을 공개할테니 그대로 따라해보세요...
참고로 저는 델파이3를 사용하고 윈도우98이 설치되어 있습니다.
윈도우95와 윈도우98과의 차이점중 가장 큰 것이 바로 32비트ODBC 부분입니다.
저는 윈도우98에 깔린 ODBC를 위주로 설명할 것이니, 만약 윈도우95에서 ODBC의 메뉴가 아래와 같지 않다면, ODBC만을 따로 다운 받으셔서 설치를 하셔야 할 것입니다
하지만, 웬만하면 윈도우98을 깔으세요(없다면...), 왜냐하면, 윈도우95는 설정이 조금이라도 바뀔때마다 재부팅을 하는 방면에 윈98은 재부팅을 하지 않거든요...
한번 실수로 다시 재부팅을 해야하는 수고를 하신다면, 그렇게 하시고요...
그럼, 이제부터 Access DB를 델파이에 연결해보이는 부분입니다. 집중하세요...

******************************************************************************
제일먼저, MS Access DB를 사용하기 위해서는 반드시 MS사의 Office97이나 95의
Ms Access를 먼저 설치해야 겠죠... 이건 기본이니까...
그런다음, Access를 실행하여 새로운 DB를 만들어서 C:\Access\Insa.MDB 라고 하나 만들어둡니다. (이건 예제이니까, 그냥 만들어보세요...)
그리고, 실제로 테이블을 몇개정도 만들어보세요...

그런다음, 윈도우98의 제어판에서 32비트ODBC 를 연다.
맨위의 탭메뉴들을 보면, 사용자DSN, 시스템DSN, 파일DSN, ODBC드라이버, 추적, 정보의 6가지 메뉴가 있습니다.
이중에서 추가해야 할 부분은 시스템DSN 과 파일DSN입니다.
이 두가지만 고치시면 됩니다. 다른 것은 손댈 필요가 없습니다.

제일먼저, 시스템DSN 을 열어보면, 오른쪽에 추가 버튼을 누른다.
그럼, '데이터 원본을 설정할 드라이버를 선택하십시오.'라는 메뉴 바로아래에 보면
MS Access Driver(*.mdb)가 있습니다. 이를 선택한후,
마침을 누르면 'ODBC MS Access 97 설정'이라는 새로운 창이 하나 생기는데,
여기서 데이터원본이름을 아무이름으로 하나 만든다.(예 : INSA)
설명란에는 데이터원본이름에 대한 설명을 써 넣으면 되는데, 안쓰셔도 무방합니다.

그리고 바로아래에 보면, 데이터베이스의 선택, 작성, 복구, 압축란중에 선택란을 선택하여
MDB 가 있는 디렉토리로 옮긴후에 INSA.MDB를 선택한후에 확인을 누른다.
(여기서는 아까 위에서 만든 C:\Access\Insa.MDB를 선택해야겠죠?!)
그리고, 확인을 누르면 시스템DSN에서의 모든 작업이 끝납니다.

그런 다음, 파일 DSN을 연후에 위의 시스템 DSN과 같은 방법으로 똑같이 따라해서 파일DSN을 끝냅니다.
즉, 시스템DSN과 파일DSN은 똑같은 방법임을 이제 아셨겠죠?

******************************************************************************
그리고, 그 다음으로 중요한 것에 대해 설명 드리겠습니다.
델파이의 메뉴에 보면, BDE Administrator가 있는데 이것을 연다.(잘모르시면, 제어판의 BDE Administrator 가 있는데 이것을 열어도 무방합니다.)
BDE Administrator의 기능은 알리아스를 만드는 것입니다. 물론 델파이를 공부하셨으니, 알리아스에 대해서는 설명 드리지 않겠습니다.

자, 메뉴바의 밑을보면, Databases 와 Configuration 의 두개의 Tab이 있는데, 이 두가지를 건드려야만 델파이에서 Access DB를 사용하실 수가 있습니다.

그럼, 제일먼저 Database Tab을 선택하면, 바로밑에 보면, Databases라는 곳에가셔서 마우스로 오른쪽 버튼을 누르면 스피드메뉴중에 New를 선택합니다.
그러면, New Databases Alias가 나오는데, 여기서 Database Driver Name란 밑의 콤보박스에서 반드시 Microsoft Access Driver(*.MDB)를 선택하셔야 합니다.
그럼, 하나의 알리아스가 하나 만들어졌는데, 그냥 ODBC라고만 써 있죠...
이것을 원하는 이름으로 바꾸어줘야 합니다. 저는 Kiwons라고 쓰겠습니다.
그럼, 바로 옆창에 보면, Definition of Kiwons라고 써있고, 바로 밑에 여러가지가 떠 있습니다.
이중에서 손을 대야 할 부분은 Database Name과 ODBC DCN 과 User Name 뿐만입니다.
다른 것은 건드릴 필요가 전혀없습니다.
그럼, 중간의 Database Name에는 방금전에 만들었던 알리아스명인 Kiwons라고 쓰고,그 다음 ODBC DCN 부분에는 위의 제어판에 있는 ODBC부분 맨밑의
User Name부분에는 Kim 이라고 입력하면 Databases Tab에서의 작업은 끝이 납니다.
자, 그럼 Kiwons에 대한 Access DB 알리아스는 하나 만든셈입니다.
그럼, Databases Tab의 설정은 끝났습니다.

다음으로 Configuration Tab으로 옮겨갑니다. 아래에보면, configuration은 Drivers 와 System 이라는 2개의 하위메뉴를 가지고 있습니다.
이중에서 Drivers라는 곳에 가보면 Native와 ODBC라는 2개의
하위메뉴를 가지고 있는데, 이 중에서 ODBC만이 필요합니다. 왜냐하면 ODBC를 이용하여 MS Access DB를 사용하기 때문이죠... 이제 감이 오시죠...
이 ODBC메뉴는 여러개의 하위메뉴를 가지고 있는데, 이중에서 건드려야 할 부분은 맨위의 Microsoft Access Driver(*.mdb) 부분입니다.
이것을 선택하고, 옆의 Definition부분에서 위와 같이
Database Name 부분과 User Name부분만을 건드리시면 됩니다.
아까와 똑같은 방법으로 Database Name은 Kiwons 이고, User Name은 Kim입니다.
그러면 BDE Administrator부분의 설정은 끝이 납니다.
여기까지가 델파이와 Access DB를 연결하는 방법이였습니다.
******************************************************************************

자, 그럼 연결만 되었다고 끝난 것은 아닙니다.
이제부터가 Access DB를 사용하는 방법에 대해 설명드리겠습니다.
이건, 제가 엄청난 공부로 인해서 알아낸거라 조금 아깝지만, 지식의 공유차원에서 말씀드리는 겁니다. 분명, Paradox DB만으로도 좋은 프로그램을 짜실 수 있지만, Paradox의 단점은 Table Lock이 걸려서 DB자체가 공유가 되지 않는 부분입니다.
물론 방법이야 있겠지만 말이죠...
하지만, Access DB는 여러사람이 동시에 DB를 공유할 수 있다는 장점이 있어서
저도 Access DB를 선호합니다. 즉, Access DB는 레코드Lock을 걸지요...

팁으로 한가지 더, Access DB를 서버에 놓으신다면, 클라이언트에서 이 Access DB를연결시켜줘야 하는데, 이부분은 위에서의 ODBC연결부분을 똑같이 설정하시면,
클라이언트에서도 실행파일만으로도 DB를 Access할 수가 있습니다.
즉, 멀티로 프로그램이 가능하다는 겁니다. 나중에 한번 해보세요...

******************************************************************************
이 부분이 아주 중요합니다. 대부분 Access DB를 연결하고도, 제대로 쓰지 못하는
수가 있습니다. 물론 방법이 있어서 알려드립니다. 주의해서 보세요...

그럼, 이제 델파이3를 띄웁니다.
컴포넌트 메뉴중에 Data Access부분이 있습니다. 이곳에서 5번째에보면 Database라는 컴포넌트가 있는데 이 컴포넌트가 가장 중요합니다.
이 컴포넌트를 사용하여 외부DB를 연결하여 사용할 수 있게 해주거든요...

Database 컴포넌트를 폼의 위치 아무곳에다가 놓으시고, 컴포넌트를 더블클릭합니다
그럼, Name과 Alias Name, Dirver Name이라고 3개가 나오는데, Name부분에다가
Kiwons라고 씁니다.
이 name은 아까 BDE Administrator부분의 Database Name을 묻는 겁니다.
그리고, Alias Name 부분의 콤보박스를 클릭하면, 아까만든 Kiwons라는 알리아스가 있는데 이것을 선택합니다.
그런 다음, Driver Name 부분은 손을대지말고, 바로아래의 Defaults 버튼을 클릭하면 바로옆의 Parameter overrides 부분에 여러가지가 나오게 됩니다.
여기서는 고칠필요가 없습니다.
그런 다음, 바로 아래부분의 Options부분에 보면 Login Prompt 와 Keep inactive connection부분에 첵크박스가 모두 첵크되어 있는데, Login Prompt부분의 첵크를
지웁니다.
이것은 Access DB를 로그인할 때 로그인메뉴를 띄우지 않겠다는 표시입니다.
그런다음 OK를 누르면, 모든 작업이 끝났습니다.
그런다음 Database Component의 프로퍼티부분에서 보면 위에서 2번째의
Connected 부분을 False에서 True로 바꾸어주면 아무문제 없이 돌아가게 됩니다.
만약, 문제가 있어서 되지 않으면, 무엇인가가 잘못된 것입니다.

아무튼 잘되었다면, 이제 기존의 프로그램을 짜시듯, Table Component를 넣고서
연결하시면 됩니다. 물론, 알리아스는 위에서 했듯이 Kiwons입니다.
******************************************************************************

한번 해보시고, 의문나는 사항은 멜로 연락주세요...
위의 내용은 제가 실제로 실행해보면서 한것이라 아무문제가 없으리라 생각됩니다.
물론, 설명을 쉽게하느라 알아들으실줄 모르겠으나 그대로 따라하시면 아무문제가
없으리라 생각합니다.
그럼, 이제 파라독스뿐만 아니라 Access DB까지 모두 정복하시길 빌겠습니다.

좋은 하루들 되세요... 그리고, 늦었지만, 새해 복들 많이 받으시구요...

부천에서 Lyon 이였습니다.


+ -

관련 글 리스트
5552 [답변] KIMOPEN/ Delphi에서 MDB사용하기 kiwons 2292 1999/01/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.