다음을 통해 공유


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이 표시됩니다.

참고 항목

Save 메서드
XML 형식으로 레코드 유지