반응형
1. ADO 개요
ADO는 ActiveX Data Object의 줄임말로 Microsoft사에서 개발한 데이터베이스 연동용 인터페이스라고 할 수 있겠다. 이 ADO 컴포넌트를 사용하여 데이터베이스에 접근하여 여러 작업을 하게 된다.

ADO 컴포넌트를 이용하여 할 수 있는 기본 과정
1) 데이터 베이스 연결 : 데이터베이스를 사용하려면 먼저 사용하고자 하는 데이터베이스에 연결을 해야 한다. ODBC설정을 통하여 데이터원본이름을 가지고 데이터베이스에 연결하거나 OLE DB를 이용하여 데이터베이스에 연결하게 된다.
2) 명령 실행 : 데이터 베이스에 연결이 되면 명령을 보내어 실행하게 된다.
3) 실행 결과 : 보내어진 명령의 결과를 가지고 여러 가지 처리를 할 수 있다.

2. ODBC 소개
ODBC(Open DataBase Connectivity)를 간단히 설명하면 ODBC 응용프로그램과 데이터베이스 프로그램 사이에 위치하면서 응용프로그램의 명령을 데이터베이스 프로그램으로 전달하게 되는데 이 때 데이터 베이스 프로그램의 종류에 따라 다르게 코딩할 필요가 없게끔 만들어진 표준화된 인터페이스라고 할 수 있다.


3. OLE DB 소개
OLE DB는 Microsoft UDA(Universal Data Access) 전략의 이론적인 개념을 구체화한 프로그래밍 인터페이스 모델이다. UDA(범용 데이터 엑세스)는 관계형, 비관계형, 계층형 등과 같은 모든 유형의 데이터를 엑세스할 수 있는 기능을 제공한다.


4. ADO 컴포넌트의 객체들
ADO 컴포넌트에는 3가지의 주요 객체가 있다. 바로 Connection 객체, Recordset 객체, Command 객체.

1) Connection 객체
처음 데이터베이스에 연결을 할 때 사용되는 객체이다. 주로 ODBC나 OLE DB를 통하여 하게 된다.

먼저 Connection 객체를 생성

Set cn = Server.CreateObject("ADODB.Connection")

여기서 볼 수 있듯이 객체 변수에 어떤 객체 인스턴스를 할당할 때는 객체변수명 앞에 'Set' 이라는 접두어를 추가해야 한다.

위의 예처럼 하면 'cn'이라는 객체변수에 Connection 개겣가 하나 생성되어 할당이 된다. 이제는 이 'cn'을 이용하여 데이터베이스에 연결하면 된다.

이 때 ODBC를 이용하여 데이터베이스에 연결할 수도 있고 OLE DB를 이용하여 데이터베이스에 연결할 수도 있다. ODBC를 이용한다면 앞에서 ODBC 설정에서 지정했떤 DSN을 기억하여 다음처럼 Connection의 open 메서드를 이용하여 데이터베이스에 연결을 하게 된다.
Access의 경우 계정이 따로 없으므로 다음처럼 DSN만 써주면 된다. Access 파일의 DSN은 'member' 이었다.

Access인 경우 :
cn.open "member"

SQL Server인 경우 :
cn.open "DSN", "계정ID", "암호"

이렇게 되면 데이터베이스와 연결이 완료된 것이다.

데이터베이스 연결연결하여 여러 가지 작업을 한 후에는 데이터 베이스 연결을 종료해야 한다.

cn.close

이것으로 데이터 베이스 연결은 끊어졌다. 다시 데이터베이스 작업을 하려면 다시 데이터베이스 연결부터 시도해야 될 것이다.

2) Recordset 객체
Recordset 객체는 데이터 베이스에 연결이 된 다음 데이터베이스로 명령을 보내게 되는데, 특별히 select query(쿼리)를 보내어 그 쿼리의 결과를 받을 때 사용하는 객체이다.

Set rs = Server.Createobject("ABODB.Recordset")

이렇게 Recordset 객체가 생성되었으면 이제 쿼리나 명령을 실행할 수 있다.

rs.open "select * from member", cn

이 때 open 이렇게 만들어진 레코드셋은 Recordset 객체의 여러 가지 메서드와 속성을 이용하여 읽어보거나 수정할 수가 있다

한 번 open이 된 Recordset 객체는 사용이 끝나면 닫아주는 습관을 가지는 것이 좋은데, 닫을 때는  다음처럼 Connection 객체와 마찬가지로 close 메서드를 사용하면 된다.

rs.close

3)Command 객체
Command 객체는 위의 두 객체에 비해 용도가 많지는 않으나 나름의 특징을 가지고 있다. 사실 Command 객체만으로도 데이터베이스의 연결과 명령 또는 쿼리의 실행이 가능하지만 Command 객체가 사용되는 주요 사용처는 stored procesure(저장 프로시저)의 싱핼이나 매개변수가 포함된 쿼리의 실행 등의 경우에 유용하다.

Set cm = Server.CreateObject("ProgID 입력")

cm.AtiveConection = cn
cm.CommandText = "delete from member where id = hong' "
cm.execute

이렇게 명령이 수행되고 나면 데이터베이스에서 id가 hong인 레코드를 모두 삭제 했을 것이다.


데이터 베이스에 명령을 수행하는 방법은 한 가지만 있는 것이 아니라 Connection 객체, Recordset 객체, Command 객체 어느 것을 사용해도 가능하다.
반응형

'공부 > ASP' 카테고리의 다른 글

Recordset 객체  (0) 2011.06.08
Connection 객체  (0) 2011.06.07
SQL 기초  (0) 2011.06.01
실습 - HTML 웹 문서에서 VBScript를 사용하여 웹 페이지를 작성해 본다.  (0) 2011.05.31
Server 객체  (0) 2011.05.31

+ Recent posts