XML 레코드 집합 지속성 시나리오
이 시나리오에서는 Recordset 개체의 내용을 ASP Response 개체에 직접 저장하는 ASP(Active Server Pages) 애플리케이션을 만듭니다.
참고 항목
이 시나리오에서는 서버에 IIS(인터넷 정보 서버) 5.0 이상이 설치되어 있어야 합니다.
반환된 레코드 집합은 DataControl 개체(RDS)를 사용하여 Internet Explorer에 표시됩니다.
이 시나리오를 만들려면 다음 단계가 필요합니다.
애플리케이션 설정
데이터 가져오기
데이터 보내기
데이터 수신 및 표시
1단계: 애플리케이션 설정
스크립트 권한이 있는 "XMLPersist"라는 IIS 가상 디렉터리를 만듭니다. 가상 디렉터리가 가리키는 폴더에 "XMLResponse.asp" 및 "Default.htm"이라는 두 개의 새 텍스트 파일을 만듭니다.
2단계: 데이터 가져오기
이 단계에서는 코드를 작성하여 ADO 레코드 집합을 열고 클라이언트에 보낼 준비를 합니다. 메모장과 같은 텍스트 편집기를 사용하여 XMLResponse.asp 파일을 열고 다음 코드를 삽입합니다.
<%@ language="VBScript" %>
<!-- #include file='adovbs.inc' -->
<%
Dim strSQL, strCon
Dim adoRec
Dim adoCon
Dim xmlDoc
' You will need to change "MySQLServer" below to the name of the SQL
' server machine to which you want to connect.
strCon = "Provider=sqloledb;Data Source=MySQLServer;Initial Catalog=Pubs;Integrated Security=SSPI;"
Set adoCon = server.createObject("ADODB.Connection")
adoCon.Open strCon
strSQL = "SELECT Title, Price FROM Titles ORDER BY Price"
Set adoRec = Server.CreateObject("ADODB.Recordset")
adoRec.Open strSQL, adoCon, adOpenStatic, adLockOptimistic, adCmdText
strCon
에서 Data Source
매개 변수의 값을 Microsoft SQL Server 컴퓨터의 이름으로 변경해야 합니다.
파일을 열어 두고 다음 단계로 이동합니다.
3단계: 데이터 보내기
이제 레코드 집합이 있으므로 이를 ASP Response 개체에 XML로 저장하여 클라이언트로 보내야 합니다. XMLResponse.asp의 맨 아래에 다음 코드를 추가합니다.
Response.ContentType = "text/xml"
Response.Expires = 0
Response.Buffer = False
Response.Write "<?xml version='1.0'?>" & vbNewLine
adoRec.save Response, adPersistXML
adoRec.Close
Set adoRec=Nothing
%>
ASP Response 개체는 Recordset Save 메서드의 대상으로 지정됩니다. Save 메서드의 대상은 ADO Stream 개체(ADO) 또는 레코드 집합을 저장할 전체 경로가 포함된 파일 이름과 같이 IStream 인터페이스를 지원하는 임의의 개체일 수 있습니다.
다음 단계로 진행하기 전에 XMLResponse.asp를 저장하고 닫습니다. 또한 기본 ADO 라이브러리 설치 폴더의 adovbs.inc 파일을 XMLResponse.asp 파일을 저장한 폴더에 복사합니다.
4단계: 데이터 수신 및 표시
이 단계에서는 XMLResponse.asp 파일을 가리키는 포함된 DataControl 개체(RDS)를 사용하여 HTML 파일을 만들어 레코드 집합을 가져옵니다. 메모장과 같은 텍스트 편집기를 사용하여 default.htm을 열고 다음 코드를 추가합니다. URL에서 "sqlserver"를 서버의 이름으로 바꿉니다.
<HTML>
<HEAD><TITLE>ADO Recordset Persistence Sample</TITLE></HEAD>
<BODY>
<TABLE DATASRC="#RDC1" border="1">
<TR>
<TD><SPAN DATAFLD="title"></SPAN></TD>
<TD><SPAN DATAFLD="price"></SPAN></TD>
</TR>
</TABLE>
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="RDC1">
<PARAM NAME="URL" VALUE="XMLResponse.asp">
</OBJECT>
</BODY>
</HTML>
default.htm 파일을 닫고 XMLResponse.asp를 저장한 폴더에 저장합니다. Internet Explorer 4.0 이상을 사용하여 URL https://sqlserver/XMLPersist/default.htm을 열고 결과를 확인합니다. 데이터는 바인딩된 DHTML 테이블에 표시됩니다. 이제 URL https:// sqlserver /XMLPersist/XMLResponse.asp를 열고 결과를 확인합니다. XML이 표시됩니다.