다음을 통해 공유


저장 방법

Recordset 파일 또는 Stream 개체에 저장합니다.

문법

  
recordset.Save Destination, PersistFormat  

매개 변수

목적지
선택 사항입니다. Recordset을 저장할 파일의 전체 경로 이름 또는 Stream 개체에 대한 참조를 나타내는 Variant입니다.

PersistFormat
선택 사항입니다. Recordset을 저장할 형식(XML 또는 ADTG)을 지정하는 PersistFormatEnum 값입니다. 기본값은 adPersistADTG입니다.

비고

Save 메서드 메서드는 열려 있는 레코드 집합에서만 호출할 수 있습니다. Open 메서드(ADO Recordset) 메서드를 사용하여 나중에 대상에서 레코드 집합을 복원합니다.

필터 속성 속성이 레코드 집합에 적용되는 경우 필터에서 액세스할 수 있는 행만 저장됩니다. 레코드 집합이 계층적이면 부모 레코드 집합을 포함하여 현재 자식 레코드 집합과 해당 자식 저장됩니다. 자식 레코드 집합 의 Save 메서드를 호출하면 자식과 모든 자식이 저장되지만 부모는 저장되지 않습니다.

레코드 집합을 처음 저장할 때, 대상지정은 선택 사항입니다. 대상을 생략하면 레코드 집합의 Source 속성 값으로 설정된 이름으로 새 파일이 만들어집니다.

이후에 첫 번째 저장 후 Save를 호출할 때 대상을 생략하거나 런타임 오류가 발생합니다. 그 후 새 대상에 대해 저장 을 호출하면, 레코드 집합 이 새 대상에 저장됩니다. 그러나 새 목적지와 원래 목적지는 모두 열립니다.

저장레코드 집합 또는 대상닫지 않으므로 레코드 집합 계속 작업하고 최신 변경 내용을 저장할 수 있습니다. 레코드집합 을 닫을 때까지 대상은 열린 상태로 유지됩니다.

보안상의 이유로 Save 메서드는 Microsoft Internet Explorer에서 실행한 스크립트에서 낮은 보안 및 사용자 지정 보안 설정만 사용할 수 있도록 허용합니다.

비동기 레코드 집합 페치, 실행 또는 업데이트 작업이 진행 중인 동안 Save 메서드가 호출되면 비동기 작업이 완료될 때까지 Save가 대기합니다.

레코드는 Recordset첫 번째 행부터 저장됩니다. Save 메서드가 완료되면 현재 행 위치가 Recordset첫 번째 행으로 이동합니다.

최상의 결과를 얻으려면 ADO(CursorLocation 속성) 속성을 Save있는 adUseClient로 설정합니다. 공급자가 Recordset 개체를 저장하는 데 필요한 모든 기능을 지원하지 않는 경우 커서 서비스에서 해당 기능을 제공합니다.

RecordsetCursorLocation 속성이 adUseServer 로 설정된 상태에서 유지될 때, Recordset의 업데이트 기능이 제한됩니다. 일반적으로 단일 테이블 업데이트, 삽입 및 삭제만 허용됩니다(공급자 기능에 따라 다름). 이 구성에서는 Resync 메서드 메서드도 사용할 수 없습니다.

비고

adVariant, adIDispatch 또는 adIUnknown 형식의 필드를 사용하여 레코드 집합을 저장하는 것은 ADO에서 지원되지 않으며 예측할 수 없는 결과를 초래할 수 있습니다.

조건 문자열 형식의 필터(예: OrderDate > '12/31/1999')만 지속형 레코드 집합의 내용에 영향을 줍니다. 책갈피 배열을 사용하거나 FilterGroupEnum의 값을 사용하여 만든 필터는 지속형 레코드 집합의 내용에 영향을 미치지 않습니다. 이러한 규칙은 클라이언트 쪽 또는 서버 쪽 커서를 사용하여 만든 Recordset에 적용됩니다.

Destination 매개 변수는 OLE DB IStream 인터페이스를 지원하는 모든 개체를 수락할 수 있으므로 Recordset을 ASP 응답 개체에 직접 저장할 수 있습니다. 자세한 내용은 XML 레코드 집합 지속성 시나리오를 참조하세요.

다음 Visual Basic 코드와 같이 XML 형식의 Recordset 을 MSXML DOM 개체의 인스턴스에 저장할 수도 있습니다.

Dim xDOM As New MSXML.DOMDocument  
Dim rsXML As New ADODB.Recordset  
Dim sSQL As String, sConn As String  
  
sSQL = "SELECT customerid, companyname, contactname FROM customers"  
sConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb"  
rsXML.Open sSQL, sConn  
rsXML.Save xDOM, adPersistXML   'Save Recordset directly into a DOM tree.  
...  

비고

계층적 레코드 집합(데이터 셰이프)을 XML 형식으로 저장할 때 두 가지 제한 사항이 적용됩니다. 계층적 레코드 집합 에 보류 중인 업데이트가 포함되어 있고 매개 변수가 있는 계층적 레코드 집합을 저장할 수 없는 경우 XML에 저장할 수 없습니다.

XML 형식으로 저장된 레코드 집합 은 UTF-8 형식을 사용하여 저장됩니다. 이러한 파일이 ADO Stream에 로드되면 스트림의 Charset 속성이 UTF-8 형식에 적절한 값으로 설정되지 않는 한 Stream 개체는 스트림에서 Recordset 을 열려고 시도하지 않습니다.

적용 대상

ADO Stream 개체()

또한 참조하십시오

VB(Save and Open Methods Example)
Save and Open 메서드 예제(VC++)
Open 메서드(ADO Recordset)
Open 메서드(ADO Stream)
SaveToFile 메서드