대부분의 데이터베이스들이 응용프로그램과 데이터베이스 간의 연동을 위해 ODBC를 제공한다.
IIS ASP에서의 데이터베이스 연동은 크게 DNS을 활용하는 방법과 OLEDB를 활용하는 방법이 있는데,
짧게나마 ASP를 공부하는 과정에선 DSN를 적용하여 MS SQL Server를 연동하였다.
IIS의 ASP페이지 데이터베이스 연동 방법에 대한 MS 기술문서 : 링크
상기 링크에서 MS Access, MS SQL Server, Oracle에 대한 다양한 설정 및 적용법을 확인할 수 있다.
Step by Step!
먼저, 제어판 → 관리도구 → 데이터 원본(ODBC)을 찾는다.
다음과 같이 '시스템 DSN' 탭에서 데이터 원본에 대한 DSN을 조작할 수 있다.
스크린샷은 본인이 MS SQL Server에 대한 DSN을 이미 추가한 상태이니 오해하지말것.
추가를 누른 뒤, 다음의 과정을 따른다.
다음의 과정은 DBMS에서 사용자 계정 추가 및 설정을 마친 후 진행한다.
1) 드라이버 선택 :
SQL Server를 선택한다. 만약 타 DBMS를 사용한다면 DBMS에 맞는 드라이버를 선택해주어야함.
타 드라이버 선택시 다음의 절차는 변동될 수 있다.
2) 데이터베이스 원본 이름 및 서버 지정 :
DSN으로 사용할 이름을 입력하고 서버는 (local)로 입력한다.
입력한 DSN이름은 코드 내에서 ODBC를 지정하는 DSN의 인자로 쓰이며,
만약 서버가 외부에 있다면 (local)이 아닌 외부IP주소 등을 입력해야할 것이다.
3) 데이터베이스 인증정보 설정
'사용자가 지정한 ID 및 암호 인증 사용'을 체크한 후, 로그인 ID와 암호를 입력한다.
입력한 ID와 암호는 코드 내에서 각각 UID, PWD의 인자로 사용한다.
4) 데이터베이스 선택
사용할 데이터베이스 명을 입력하고 다음 페이지를 그대로 둔 상태로 마침 버튼을 누른다.
5) 설정 종료 및 데이터 원본 테스트
모든 과정이 종료되면 DSN 추가 직전 입력한 정보로 데이터 원본으로의 연결을 테스트할 수 있다.
다음 스크린샷과 같이 테스트가 성공적으로 완료되었다면 DSN 설정이 올바르게 완료된 것이다.
DSN과 관련된 설정이 완료되었다.
이제 코드 내에서 DSN에 설정한 DSN명, ID, 암호만 인자로 넘겨주면 편리하게 데이터베이스로 연결할 수 있다.
프로그램 내에서 다음과 같이 코드를 작성하여 데이터베이스에서 데이터를 추출, 출력하도록 하자.
<% Dim dbConCmd, SQLQuery, dbCon, rs, rsList, … dbConCmd= "DSN=SQLServer; Database=board; UID=test; PWD=1234;" SQLQuery = " SELECT * FROM member " Set dbCon = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.RecordSet") dbCon.Open dbConCmd rs.Open SQLQuery, dbCon %> <% IF (rs.BOF AND rs.EOF) THEN Response.Write("회원정보가 존재하지 않습니다.") ELSE rsList = rs.GetRows() FOR x=1 TO UBound(rsList, 2) FOR y=0 TO Ubount(rsList) Response.Write( rsList( y, x ) ) NEXT NEXT END IF %> | … 변수 선언. 필요에 맞게 적절히 선언한다. 좌측 코드에서 x를 0으로 설정하면 빈 열이 출력된다. |