ADO(ActiveX Data Objects)를 사용하여 Active Server Pages(ASP) 스크립트에서 SQL Server 2005 AdventureWorks 샘플 데이터베이스를 액세스 하는 방법에 대해서 간략한 예제입니다. KB 에 나온 스크립트를 약간 수정하였습니다. 데이터베이스 설정 요소에 대해서는 생략 하였습니다.
[환경]
Windows XP IIS 5.1
SQL Server 2005
[구성절차]
1. ODBC DSN 구성
가. 시스템 DSN : LAIGO
나. 드라이버 : SQL Server
다. 로그인 ID : laigo
라. 암호 : P@ssw0rd
2. ASP 스크립트
가. Global.asa
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
Session("ConnectionString") = "DSN=LAIGO;UID=laigo;PWD=P@ssw0rd;DATABASE=AdventureWorks;APP=ASP script"
Session("ConnectionTimeout") = 15
Session("CommandTimeout") = 30
End Sub
Sub Session_OnEnd
End Sub
</SCRIPT>
나. Default.asp
<HTML>
<HEAD>
<TITLE>Lai Go's TINote Blog</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<% Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.ConnectionTimeout = Session("ConnectionTimeout")
OBJdbConnection.CommandTimeout = Session("CommandTimeout")
OBJdbConnection.Open Session("ConnectionString")
Set SQLStmt = Server.CreateObject("ADODB.Command")
Set RS = Server.CreateObject ("ADODB.Recordset")
%>
<p>
<table border="0" bordercolor="#000000">
<%
SQLStmt.CommandText = "SELECT ContactID, FirstName, EmailAddress from Person.Contact WHERE ContactID < 10"
SQLStmt.CommandType = 1
Set SQLStmt.ActiveConnection = OBJdbConnection
RS.Open SQLStmt
Do While Not RS.EOF
%>
<TR>
<TD Width = 50 ALIGN=LEFT>
<FONT SIZE=+1>
<%= RS("ContactID") %>
</FONT></TD>
<TD></TD>
<TD Width = 150 ALIGN=LEFT>
<FONT SIZE=+1>
<%= RS("FirstName") %>
</FONT></TD>
<TD></TD>
<TD Width = 350 ALIGN=LEFT>
<FONT SIZE=+1>
<%= RS("EmailAddress") %>
</FONT></TD>
<TD></TD>
</TR>
<%
RS.MoveNext
Loop
%>
</table>
<hr>
<p>
</BODY>
<% OBJdbConnection.Close
Set OBJdbConnection = Nothing
%>
</HTML>
3. 수행 결과
[참고자료]
How to access SQL Server in Active Server Pages
작성자 : Lai Go / 작성일자 : 2009.09.04