sub_title
 ASP
제   목 ASP OBJECT 태그를 이용한 OLEDB 연결
작성자 웹마당넷 등록일 2008-11-12 18:17:42 조회수 223,622

[ASP OBJECT 태그를 이용한 OLEDB 연결]

<OBJECT> 태그는 객체(Object)의 인스턴스 생성과 해제를 개발자가 직접 처리하지 않고 서버에게 위임하는 방법입니다. 서버에게 위임한 만큼 웹서버인 IIS는 객체의 인스턴스 생성과 해제를 가장 적절한 방법으로 처리하게 됩니다.

웹서버는 Server.CreateObject 명령어를 만나면 객체의 스크립트 내, 사용 여부와 상관없이 즉시 객체의 인스턴스를 생성시키게 됩니다. 반면에 <OBJECT> 태그 사용 시에는 웹서버는 객체가 스크립트 내에서 사용되기 전까지는 객체의 인스턴스를 생성시키지 않고 있다가, 객체가 해당 스크립트 내에서 사용될 때, 비로서 객체의 인스턴스를 생성시키게 됩니다.

객체의 해제또한 “rs.close”, “Set rs = nothing” 과 같은 번거로운 작업이 필요치 않습니다. <OBJECT> 태그 사용시 위의 구문을 만나면 오히려 에러가 발생하게 됩니다. 생성된 객체의 해제 역시 서버가 담당하기 때문입니다.

※ 인스턴스는 프로세스와 거의 같은 의미로 사용되기도 하는데 엄밀히 말하면 프로세스는 프로그램 또는 객체가 메모리에 로드되어 실행되고 있다의 의미이며 인스턴스는 객체또는 프로그램이 메모리에 로드되어 실행될 준비를 한다는 의미에서 차이가 있습니다.


아래의 예는 개발자가 Server.CreateObject를 이용해서 객체(Object)의 생성을 처리하는 아주 익숙한 예제입니다.

'// 레코드셋 객체를 이용한 데이타베이스 오픈
SQL="SELECT uid, name, nickname, telephone, addr, inform "
SQL=SQL & " FROM tbl_member ORDER BY regdate DESC"
Set dbCon=Server.CreateObject("ADODB.Connection")
Set Rs=Server.CreateObject("ADODB.RecordSet")

strConnect = "DSN=testOK;UID=testOK;PWD=1234;"
dbCon.Open strConnect
Rs.Open SQL, dbCon



위의 예 중 dbCon.Open 부분만 <OBJECT>태그를 이용해서 바꿔보면 아래와 같습니다. 위의 예제와 같이 ODBC 를 이용해서 데이타베이스 연결을 시도합니다.

'// <OBJECT> 태그를 이용한 ODBC 연결
<OBJECT RUNAT=server PROGID=ADODB.Connection id=dbCon></OBJECT>
<%
'//-----------------------------------------------------------------//
'MSSQL ODBC Connection 문자열
'DSN -- ODBC DSN, UID -- 데이타베이스 사용자, PWD -- 데이타베이스 비밀번호
dbCon.Open("DSN=testOK;UID=testOK;PWD=1234;")
'//-----------------------------------------------------------------//
%>


데이타베이스 연결을 OLEDB를 이용해서 할려면 dbCon.Open 뒤에 오는 연결 문자열만 아래와 같이 바꿔주면 됩니다.

'// <OBJECT> 태그를 이용한 OLEDB 연결
<object RUNAT="Server" PROGID="ADODB.Connection" ID="dbCon"></object>
<%
'//----------------------------------------------------------------------------------------//
'MSSQL OLEDB 연결부분
'Data Source -- 데이타베이스 경로, Initial Catalog -- 데이타베이스명
'User ID -- 데이타베이스 사용자, Password -- 데이타베이스 접근 비밀번호
dbCon.Open "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=testOK;User ID=testOK;Password=1234;":
'//---------------------------------------------------------------------------------------//
%>


일반적으로 위의 예제를 파일로 저장해서 데이타베이스 연결부분은 따로 관리를 하게 됩니다.
위의 연결 예제를 "dbcon.asp" 파일로 저장했다고 가정하면 레코드셋은 다음과 같이 <OBJECT> 태그를 이용해서 가져오실 수 있습니다.

<!-- #include file="dbcon.asp" -->
<OBJECT RUNAT="server" PROGID="ADODB.Recordset" id="rs"></OBJECT>
<%

SQL="SELECT uid, name, nickname, telephone, addr, inform "
SQL=SQL & " FROM tbl_member ORDER BY regdate DESC"

rs.Open SQL,dbCon

%>


첨부파일에는 전 페이지의 "OLEDB를 이용한 로그인(Login) 처리" 예제를 <OBJECT>태그를 이용해서 수정한 소스가
들어 있습니다. 참조하시기 바랍니다.

작성자: 웹마당넷(webmadang@webmadang.net)   http://www.webmadang.net

 
4
    
 
1
        list
 
※ 짧은 댓글일수록 예의를 갖추어 작성해 주시기 바랍니다.
line
reply cancel
 
번호 제목 글쓴이 추천 조회 날짜
81  ASP 파일의 존재유무를 체크하여 존재하면 삭제하기   member 오렌지 2 / 0 221868 2010-01-23
80  ASP - 정규식을 이용한 html 태그 제거 함수   member 오렌지 0 / 0 210251 2009-02-25
79  ASP 파일 확장자 제한하기   admin 웹마당넷 4 / 0 226134 2009-02-22
78  ASP - BASE64 인코딩 디코딩 함수 첨부파일   member 오렌지 2 / 1 229196 2009-02-06
77  ASP로 다국어(UTF-8) 지원 사이트 개발   admin 웹마당넷 0 / 0 214082 2009-01-27
76  ASP를 사용하여 SSL 요구   member 웹스톤 0 / 0 208135 2009-01-12
75  ASP용 MD5 함수 첨부파일   member 티란투라 0 / 0 219573 2009-01-07
74  ASP 로그인시 로그기록을 남기는 예제 첨부파일   admin 웹마당넷 0 / 0 215929 2009-01-04
73  ASP SQL 인젝션 방어와 복구   member 억새풀 0 / 0 215574 2008-12-26
72  ASP에서 REFERER 를 이용한 페이지 직접 접근 막기   member 억새풀 1 / 0 292732 2008-12-23
71  ASP 자동링크 함수   member 웹스톤 0 / 0 214886 2008-12-16
70  ASP 영문으로된 월 이름(Month Name) 구하기   admin 웹마당넷 0 / 0 211217 2008-12-09
69  ASP 문장 연결 표시(line continuation)   admin 웹마당넷 0 / 0 212274 2008-12-08
68  ASP 이름이 같은 폼태그(Form Tag)의 값(value) 처리하기   admin 웹마당넷 0 / 0 219348 2008-12-05
67  ASP OBJECT 태그를 이용한 OLEDB 연결   admin 웹마당넷 4 / 1 223622 2008-11-12
66  ASP 로그인(Login) 처리 예제 (OLEDB) 첨부파일   admin 웹마당넷 0 / 0 242847 2008-10-10
65  ASP 검색 페이지에서 검색된 문자열의 색깔 바꾸기   admin 웹마당넷 0 / 0 208401 2008-10-03
64  ASP 로그인(Login) 처리 예제 (ODBC) 첨부파일   admin 웹마당넷 0 / 0 244789 2008-10-02
63  ASP에서 XML 파일 읽어들이기   admin 웹마당넷 0 / 0 211986 2008-09-25
62  ASP 세션(Session)에 배열 저장하기   admin 웹마당넷 0 / 0 208420 2008-09-24
61  ASP For Each Next 순환문을 이용한 선택된 체크박스의 값 알아내기 첨부파일   admin 웹마당넷 1 / 0 236409 2008-09-23
60  ASP에서 날짜, 요일구하기   admin 웹마당넷 0 / 0 234710 2008-09-20
59  asp 페이지를 유니코드(unicode)로 출력하기   member 웹스톤 0 / 0 215093 2008-09-20
58  [ASP] 사이트 링크의 유효성 검사   member 다자래 0 / 0 206121 2008-08-22
57  [ASP] 퀵정렬   member 다자래 0 / 0 213895 2008-08-20
write
[2] [3] [4] button