배움터  
  HOME > 배움터 > 무료강좌
무료강좌
 
프론트페이지2000 강좌 - 데이터베이스 액세스 활용, Frontpage 2000

7일. 데이터베이스 액세스 활용

▶ 들어가기에 앞서

지난 시간에는 데이터베이스 액세스를 위한 서버의 환경설정을 마쳤습니다. 이번 강의부터는 이 환경에 기초하여 진행하도록 하겠습니다. 사용자가 이 과정을 따라오기 쉽게 하기 위해서 먼저 간단한 방명록을 만들어 보도록 하겠습니다. 차례 차례 따라오면 쉽다는 것을 아실 것입니다.

간단한 방명록 만들어 보기 1

● 웹 사이트 열기
먼저 앞의 강의에서 만든 웹을 열도록 하겠습니다.

따라하기 : 두 가지 방법 중 택일
  - 방법 1 : [파일]-[웹 열기]
  - 방법 2 : 도구모음에서 아이콘(두번째 아이콘 옆의 작은 삼각형)을 이용하여 [웹 열기] 선택

아래 [그림7-1]과 같이 웹 열기 상자가 나타납니다.

Full-WebOpen.gif(27045바이트)

[그림 7-1]

앞의 강좌에서 사이트의 주소를 192.168.0.250으로 설정하였습니다. 이 주소는 사설 주소입니다. 이 주소를 계속해서 사용하도록 하겠습니다. 여러분이 사용하고 있는 사이트명을 입력하여도 됩니다. 무료계정을 주고 있는 라이코스 홈페이지를 이용하여도 됩니다.
아래 그림은 필자가 사용하고 있는 사이트를 예로 한 그림입니다. 물론, 아래 그림은 FP2000 SE를 지원해 주어야만 가능한 것입니다.

Full-WebOpenEtc.gif(32518바이트)

[그림 7-2]

위 그림에서 [웹 열기]를 선택하였을 경우에 나타나는 인증 정보를 입력하는 대화상자가 나타나듯이 [그림7-1]에서 [열기] 버튼을 누르면 아래 그림과 같이 인증 정보를 입력하는 대화상자([그림7-3] 참조)가 나타납니다.
[그림7-3]에서 볼 수 있듯이 웹 사이트에 대한 권한이 설정되어 있어야만 가능한 것입니다.
앞의 강의 FP2000 SE 환경 구성 마법사에서 볼 수 있듯이 그림에서 입력한 계정은 관리자 계정으로 지정되어 있습니다. 

● 사이트에 대한 권한 설정은 다음과 같이 3가지로 구분이 되고 있습니다.
(서버설정 [그림 6-10] 참조)

① 탐색자 서버의 폴더와 파일을 수정할 수 없으며 탐색만 가능합니다.
② 제작자 서버의 폴더와 파일을 탐색 및 수정 할 수 있습니다.
③ 관리자 제작자와 같은 사용 권한을 소유하며, 웹을 새로 만들고, 웹 설정을 변경하고, 제작 권한을 제어할 수 있습니다.

필자 또한 서버설정 부분에서 "webzealer"라는 계정을 관리자로 지정하였습니다.
(서버설정 [그림6-11] 참조) 

Full-WebOpen2.gif(22266바이트)

[그림 7-3]

[그림7-3]에서 계정과 암호를 입력하고 [확인] 버튼을 누르면 [그림7-4]와 같은 화면이 나타납니다.

Full-WebOpen3.gif(19733바이트)

[그림 7-4]

꼭! 그림[7-4]와 같이 나타나지 않을 수도 있습니다. 필자의 경우는 [보기]메뉴에서 [폴더]를 선택하였지만 여러분들은 [보기]메뉴에서 다른 메뉴를 선택해서 다르게 나타나게 할 수도 있습니다.

☞ 웹 열기에서 에러가 발생하였을 경우
웹 열기에서 [그림7-5]와 같이 에러가 발생하는 경우가 있습니다.

Full-WebOpenErr.gif(31685바이트)

[그림 7-5]

위 그림과 같이 에러가 발생하는 경우는 웹 사이트에 대한 설정 부분에서 수정을 하여 주면 쉽게 해결될 수 있습니다.

앞 강좌의 인터넷 정보 서비스에서 서버 설정을 할 때 웹 사이트의 등록정보에서 수정을 하여 주면 됩니다. [그림6-4]에서 실행(예:ISAPI 응용프로그램 또는 CGI)으로 하여 주시면 됩니다.
이미 설정이 된 상태에서는 서버측에서 인터넷 정보 서비스를 실행을 합니다.
인터넷 정보 서비스에서 웹 사이트를 클릭하고 우측버튼을 누르고 [등록정보]를 누르면 [그림7-6]과 같이 나타나게 됩니다.

그림에서 [홈 디렉터리] 탭을 누르면 나타나게 되는 실행 권한 부분에서 설정값을 바꾸어 주면 됩니다.
실행 권한 리스트 박스에서 스크립트로 되어 있다면 [그림7-5]와 같은 에러가 발생을 합니다.
이 실행 권한 리스트 박스에서 "실행(스크립트 포함)"을 선택하여 주면 정상적으로 처리되는 것을 볼 수 있습니다. 
[등록정보]에서 [확인]을 누르시고 웹 서비스를 중지 하였다가 다시 실행을 하시면 됩니다.

Full-WebOpenIIS.gif(34795바이트)

[그림 7-6]

● 방명록 만들기
웹 사이트를 성공적으로 열었으면, 방명록을 만들 폴더를 만들고 방명록 페이지를 만들어야 합니다.

Full-NewFolder.gif(20925바이트)

[그림 7-7]

1. 방명록 폴더 만들기

따라하기 1
: 두가지 방법 중 택일
  - 방법 1 : [파일]-[새로 만들기]-[폴더]
- 방법 2 : 사이트를 클릭을 합니다. → 마우스 우측버튼을 누르고 [새 폴더]를 선택합니다.
                ([그림7-7] 참조)
따라하기 2 : 폴더의 이름을 " GuestBook"이라고 줍니다.

2. 방명록 입력파일 만들기

따라하기 1 : "GuestBook" 폴더를 클릭합니다.
따라하기 2
: 다음의 방법 3가지중에서 선택합니다.
  - 방법 1 : 키보드에서 Ctrl + N 을 누릅니다.
  - 방법 2 : 메뉴에서 [파일]-[새로 만들기]-[파일]을 선택합니다.
  - 방법 3 : 마우스 우측버튼을 누르고 [새로 만들기]를 선택합니다.
따라하기 3 : 파일의 이름을 "GuestBook.asp" 라고 줍니다.

Full-NewFile.gif(20058바이트)

[그림 7-8]

일반적으로 웹 페이지라고 하면 HTML을 이용해서 만든 페이지를 말합니다. 그러나 HTML만을 이용해서 웹 사이트를 구축한다는 것은 한계가 있습니다. HTML은 프로그래밍 언어는 아니기 때문에 정보를 다루는데 한계가 있으며 대신 CGI나 ISAPI 프로그램과 같은 서버 기술을 이용해서 데이터베이스와 연결하고 정보를 제공합니다.

우리가 입력한 파일명은 HTML이 아닌 ASP(Active Server Page) 입니다. 
액티브 서버 페이지(Active Server Page)란 웹을 프로그래밍할 수 있도록 제공된 페이지 한 종류입니다. 복잡한 서버 프로그램을 이용하지 않고 스크립트 단계에서 서버 스크립트를 이용해 HTML과 각종 데이터베이스로부터 정보를 제공합니다.

데이터베이스로부터 가져온 데이터를 이용해 HTML 페이지를 생성하고 사용자에게 보여줍니다. 액티브 서버 페이지를 이용하면 데이터를 보여주는 것은 물론 사용자가 입력한 데이터를 데이터베이스에 저장할 수도 있습니다.

다른 CGI나 ActiveX 컨트롤, ISAPI프로그램을 이용하지 않고 스크립트를 이용해서 데이터베이스를 다룰 수 있다는 것은 굉장한 것입니다. 인터넷 프로그램을 이제 처음 시작하는 사람은 CGI나 ISAPI와 같은 용어를 잘 모를 수 있지만 지금 단계에서는 별로 문제 될 것이 없습니다. 이런 복잡한 기술 대신 액티브 서버 페이지를 이용하면 쉽고 간단하게 데이터베이스와 연결되는 페이지를 만들 수 있기 때문입니다.

매일 고정된 페이지 정보를 제공하는 것보다 사용자가 선택하는 것에 따라 매일 다른 정보를 보내주는 변화하는 페이지가 훨씬 사용자에게 매력이 있는 것은 당연합니다. 바로 ASP가 갖는 매력은 사용자 입력 처리와 데이터베이스와의 연결을 스크립트를 이용해 간단하게 처리할 수 있다는 것입니다.

☞ 웹 문서를 만들다 에러가 발생하였을 경우
아래 [그림7-9]와 같이 웹 문서를 만들 때 에러가 발생할 수 있습니다. 이는 처음에 폴더를 만들고 나서 그 폴더에 처음으로 파일을 새로 만들고자 할 때 발생하곤 합니다.

Full-NewFileErr.gif(24419바이트)

[그림 7-9]

위 그림에서 발생한 에러 메시지와 같이 폴더가 실행 가능하게 되어 있다면 그 폴더에 파일을 생성할 수 없습니다. 그러나 이는 간단하게 등록정보를 수정함으로 해결을 할 수가 있습니다. 또한 다음부터는 이런 에러가 발생을 하지 않습니다.

Full-NewFileAttr.gif(24461바이트)

[그림 7-10]

해결하기 1 : "GuestBook" 폴더를 클릭합니다.
해결하기 2 : 마우스 우측버튼을 누르고 [등록정보]를 선택(또는 파일 메뉴에서 등록정보 선택)합니다.  위 [그림7-10]와 같은 화면이 나타나게 됩니다.
해결하기 3 : 등록정보에서 스크립트 실행 허용이라는 곳의 체크를 없애줍니다.

위와 같이 [등록정보]에서 " 스크립트 실행 허용" 부분의 체크를 없애면 파일을 생성할 수 있게 됩니다. 또다시 등록정보에서 "스크립트 실행 허용"부분을 체크하셔서 [확인]을 누르면 에러가 발생을 하여야 하는데 에러가 발생을 하지 않습니다. 처음 폴더를 만들었을 때에는 위와 같이 한번정도는 스크립트 실행 허용 부분을 해지 하였다가 다시 설정을 하면 에러를 없앨 수 있습니다.

3. 방명록 입력파일 디자인하기
방명록 입력파일 만들기가 성공적으로 되었다면 아래 [그림 7-11]과 같이 됩니다.
그림에서 "GuestBook.asp" 파일을 마우스로 더블클릭하여 파일의 내용을 편집합니다.
이 강좌에서는 FP2000의 사용법은 설명드리지 않습니다. 
참고로 파일 편집시 사용된 양식의 사용방법이나 FP2000의 사용법은 저희 오피스튜터의 강좌란을 참조하여 학습하시면 됩니다.

Full-GuestInOpen.gif(20380바이트)

[그림 7-11]

[ 그림 7-12 ]와 같이 방명록 양식을 작성합니다. 점선으로 표시되어 있는 부분이 양식의 경계선입니다. 테이블을 작성하고 아래와 같이 양식 폼을 디자인하여 저장을 합니다.

Full-GuestInBasic.gif(100888바이트)

[그림 7-12]

여러분들의 편의에 맞추어 디자인을 하시면 됩니다. 여러분의 디자인을 돕기 위해 필자가 작업한 내용은 다음과 같습니다. 참고하여 주시기 바랍니다.

☞ 페이지 배경그림 : BackGround.gif

☞ 테이블 : 4행4열, 너비 지정=554, 높이 지정=232, 셀 안쪽 여백=1, 셀 간격=0

☞ 양식 폼(데이터베이스 필드내용) : 양식 필드에서 마우스로 더블 클릭을 하시면 자세한 내용을 수정할 수 있습니다. 
(※ 주의 : 만일, 다음에서 사용된 필드의 이름을 여러분이 임의로 정하셨다면, 강의내용 전반적으로 나타나는 필드이름을 여러분이 정하신 이름으로 사용하셔야 합니다.)
 
- 이름 : 이름=Name, 입력 상자 크기(글자 수)=20, 탭 순서=1
  - 닉네임 : 이름=Nick, 입력 상자 크기(글자 수)=20, 탭 순서=2
  - 전자우편 : 이름=Email, 입력 상자 크기(글자 수)=50, 탭 순서=3
  - 홈페이지 : 이름=HomePage, 입력 상자 크기(글자 수)=50, 탭 순서=4
  - 방문소감 : 이름=Content, 입력 상자 크기(글자 수)=60, 줄수=10, 탭 순서=5

☞ 버튼 작성 : 양식에서 사용될 버튼을 정의해줍니다.
  - 방명록 작성 : 이름=submit, 값/레이블=방명록 작성, 단추 종류=전송, 탭 순서=6
  - 새로작성 : 이름=reset, 값/레이블=새로작성, 단추 종류=새로작성, 탭 순서=7
  - 취소 : 이름=cancel, 값/레이블=취소, 단추 종류=보통, 탭 순서=8

위와 같이 작성을 하고 미리보기를 하면 아래 [그림7-13]와 같이 나타나는 것을 볼 수 있습니다.

Full-GuestInPreview.gif(100007바이트)

[그림 7-13]

위 그림과 같이 정상적으로 작성을 하고 저장을 합니다.
데이터베이스 필드 내용에서 이름은 데이터베이스로 데이터를 넘겨주거나 받을 때 사용되는 필드명이 됩니다. 이 필드이름은 웹 사이트에 저장되어 있는 필드명과 달라도 상관없습니다. 또한 탭 순서는 양식 폼에서 입력되는 순서를 정하게 되는 것입니다. 즉, 폼에서 데이터를 입력하다 키보드의 탭키를 눌렀을 경우 이동되는 순서를 정하는 것입니다.

4. 방명록 양식 등록정보 수정하기
방명록 디자인을 마치고 저장을 하였다면 이제 양식에서 사용된 등록정보를 수정하여 데이터베이스로의 저장을 마무리하면 됩니다. 이제부터 하나씩 잘 따라 하시기 바랍니다.

따라하기 1 : 양식 영역에서 어디든지 마우스 우측버튼을 누르고 [양식 등록 정보]를 선택합니다.

Full-FormProperties.gif(94700바이트)

[그림 7-14]

따라하기 2 : [양식 등록 정보] 대화상자가 나타날 때 결과를 저장할 위치 옵션에서 [데이터베이스로 보내기]라는 것을 선택하고 밑에 있는 [옵션]단추를 클릭합니다.[그림 7-15 참조]

Full-DatabaseOption.gif(78568바이트)

[그림 7-15]

FP2000은 명명된 연결(Connections)를 통해서 데이터베이스 정보를 읽고 기록을 합니다. 데이터베이스 연결은 현재 웹에 있는 마이크로소프트 액세스 데이터베이스, 웹 서버의 ODBC(Open Database Connectivity) 데이터 원본, 또는 다른 어떤 데이터베이스에 대한 직접 연결을 명명합니다.

위 [그림7-15]에서 연결에 포함되어 있는 네가지 옵션에 대하여 알아보면 다음과 같습니다.

- [사용할 데이터베이스 연결] : 받아들인 데이터를 저장하기 위해 사용할 기존의 데이터베이스 연결을 선택합니다. 즉, 데이터베이스를 접근하는데 사용되는 데이터베이스에 대한 포인터인 것입니다.

- [연결 추가] : 기존의 데이터베이스에 대한 새로운 연결을 생성합니다. 기본적으로 이것은 메뉴에서 [도구] ☞ [웹 설정] 을 하였을 때 나타나는 [데이터베이스] 탭과 같은 것입니다.

- [데이터베이스 만들기] : 양식 결과를 저장하기 위해 새로운 데이터베이스를 생성합니다. 이 데이터베이스에서 FP2000은 양식의 각 요소에 대한 열을 가지는 새로운 테이블을 생성하게 됩니다. 즉, [그림7-12]에서 정의한 이름을 사용하게 되는데 Name, Nick, HomePage, Email, Content의 이름을 사용하게 되는 것입니다. 그리고 FP2000은 새로운 데이터베이스에 대한 연결을 생성합니다. 우리는 이 강좌에서 [데이터베이스 만들기]를 선택할 것입니다.

- [데이터베이스 업데이트] : 양식 필드의 현재 값을 반영하기 위해 기존의 데이터베이스 구조를 개정합니다.

따라하기 3 : [그림7-15]의 연결 옵션에서 [데이터베이스 만들기] 클릭합니다.
데이터베이스 만드는 애니메이션이 끝나고 나면 [그림7-16]과 같이 데이터베이스를 완료하였다는 화면이 나타납니다.

Full-DatabaseNew.gif(76965바이트)

[그림 7-16]

FP2000은 웹의 /fpdb 폴더에 "GuestBook.mdb"라는 데이터베이스를 생성하고, 'GuestBook"이라는 데이터베이스 연결을 생성하게 됩니다. 
이는 웹 페이지의 이름인 "GuestBook.asp"에서 이름을 자동으로 사용하게 된 것입니다. 또한 "GuestBook"이라는 데이터베이스 안에 앞에서 정의한 필드들을 이용하여 [결과]라는 테이블을 자동으로 생성하게 됩니다.
이 데이터베이스명과 테이블명은 마이크로소프트 액세스 2000을 이용하여 여러분이 수정하실 수 있습니다.

따라하기 4 : [그림7-16]의 화면에서 [확인]을 누르고 [데이터베이스 결과 저장 옵션]대화상자에서 [필드 저장]탭을 누릅니다. 이 탭에 나오는 [저장할 양식 필드]목록은 데이터베이스의 어떤 필드에 어떤 양식 필드가 저장될 것인지 표시합니다. 이 때 사용되는 우측의 4가지의 버튼은 다음과 같은 기능을 제공합니다.

  - [모든 필드] : HTML 양식의 모든 필드를 목록에 추가합니다.
  - [추가] : HTML 양식으로부터 하나의 필드를 목록에 추가합니다. 
  - [수정] : 현재 선택된 양식 필드로부터 데이터를 받아들이는 데이터베이스 필드를 변경합니다.
  - [제거] : 현재 선택된 필드로부터 데이터를 기록하는 것을 중단합니다.

Full-DatabaseFieldSave.gif(77761바이트)

[그림 7-17]

이 4가지의 기능은 HTML 양식의 각 필드와 이것의 값을 받아들이는 데이터베이스 필드를 출력합니다.
즉, 양식 폼에서 정의한 필드와 데이터베이스 테이블에 있는 필드와의 연결설정을 하는 것입니다.

Full-DatabaseFieldSave2.gif(85456바이트)

[그림 7-18]

따라서 양식의 필드값과 데이터베이스 테이블에 있는 필드값이 다를 수 있습니다. 처음에 데이터베이스가 만들어질 때에는 양식 폼에서 정의한 필드명으로 데이터베이스 테이블의 필드명이 정해집니다. [그림7-18]에서는 이러한 예를 보여주고 있습니다.

양식 필드를 누르고 [수정]버튼을 누르면 양식 필드에 해당하는 데이터베이스 테이블의 필드값을 리스트 박스로써 선택할 수 있습니다.

따라하기 5 : [그림7-16]의 화면에서 [확인]을 누르고 [데이터베이스 결과 저장 옵션]대화상자에서 [추가할 필드]탭을 누릅니다.

Full-DatabaseFieldAdd.gif(84303바이트)

[그림 7-19]

[그림7-19]에 있는 추가할 필드는 데이터베이스 테이블에 4개의 추가적인 필드를 저장하는데 이런 필드는 HTML 양식의 일부가 아닌 양식 데이터와 함께 HTTP 헤더로 전송되어 HTTP 트랜젝션으로부터 받아들이는 필드를 제어하는데 사용이 됩니다.

따라하기 6 : [그림7-15]에서 3개의 탭이 모두 설정이 되면 [확인]버튼을 누릅니다.
[그림7-15]에서 [확인 페이지 URL]은 서버가 데이터베이스를 성공적으로 갱신했을 때 웹 방문자가 보게 될 페이지의 URL을 제공하는데, 이것을 비워두면 결과 저장은 즉석에서 확인과 오류 페이지를 생성하게 됩니다. 그리고 [오류 페이지의 URL]은 서버가 데이터베이스를 갱신하는데 실패하게 되면 웹 방문자가 보게 될 페이지의 URL을 제공합니다.

5. 방명록 테스트하기
위와 같이 잘 따라했다면 방명록을 간단하게 실행하여 테스트를 할 수 있습니다.

먼저, 웹 브라우저를 열고 URL 창에 "http://192.168.0.250/GuestBook/GuestBook.asp"라고 입력을 하고 [엔터]를 칩니다. [그림7-20]와 같이 나타나는 것을 확인할 수 있습니다.

Full-Browser1.gif(167829바이트)

[그림 7-20]

[그림7-20]와 같이 데이터를 입력하고 [방명록 전송]버튼을 누르면 데이터가 저장되는 것을 확인할 수 있습니다. 아래 [그림7-21]은 FP2000에 의해 즉석에서 양식 확인 페이지가 만들어지는 것을 볼 수 있는데, 이는 앞의 설정에서 [확인 페이지의 URL]을 지정하지 않았기 때문입니다.

Full-Browser2.gif(20460바이트)

[그림 7-21]

위와 같이 방명록 작성에 의해 만들어진 데이터베이스의 결과를 살펴보면 아래 그림과 같습니다.

Full-DatabaseAccess.gif(33006바이트)

[그림 7-22]

[그림7-22]는 마이크로소프트 액세스2000을 이용하여 생성된 "GuestBook.mdb"파일을 열고 결과 테이블을 살펴본 것입니다. 데이터가 정상적으로 입력되어 있는 것을 확인할 수 있습니다.

이번 강좌에서는 간단하게 방명록 작성하는 방법을 배웠습니다. 여러분이 과정을 잘 따라 했다면 어렵지 않다는 것을 알 것입니다.

방명록을 FP2000에 의해서 데이터베이스를 만들고 연결을 했을 경우에는 추가적으로 몇 가지의 파일들이 추가적으로 생성이 됩니다. 이러한 파일들은 FP2000에서 사용되는 파일들로 중요한 역할을 하게 됩니다.

※ 다음 강좌에서는 만들어진 방명록에 대하여 좀더 세부하게 알아보도록 하겠습니다. 또한 방명록의 리스트 보기와 방명록에서 사용되는 질의문에 대하여 알아보도록 하겠습니다.

이전 | 목차 | 다음