다음을 통해 공유


Open 메서드(ADO Recordset)

Recordset 개체에서 커서를 엽니다.

통사론

  
recordset.Open Source, ActiveConnection, CursorType, LockType, Options  

매개 변수

원본
선택적. 유효한 Command 개체, SQL 문, 테이블 이름, 저장 프로시저 호출, URL 또는 영구적으로 저장된 Recordset포함하는 파일 또는 Stream 개체의 이름으로 평가되는 Variant.

ActiveConnection
선택적. 유효한 Connection 개체 변수 이름으로 평가되는 Variant 또는 ConnectionString 매개 변수가 포함된 String.

CursorType
선택적. Recordset열 때 공급자가 사용해야 하는 커서 유형을 결정하는 CursorTypeEnum 값입니다. 기본값은 adOpenForwardOnly .

LockType
선택적. Recordset열 때 공급자가 사용해야 하는 잠금 유형(동시성)을 결정하는 LockTypeEnum 값입니다. 기본값은 adLockReadOnly .

옵션
선택적. Command 개체가 아닌 다른 항목을 나타내는 경우 공급자가 Source 인수를 평가하는 방법을 나타내는 Long 값이거나 Recordset 이전에 저장한 파일에서 복원해야 합니다. 하나 이상의 CommandTypeEnum 또는 ExecuteOptionEnum 값일 수 있습니다. 이 값은 비트 OR 연산자와 결합할 수 있습니다.

메모

지속형 Recordset포함된 Stream레코드 집합 여는 경우 adAsyncFetchNonBlockingExecuteOptionEnum 값을 사용하면 아무런 효과가 없습니다. 인출은 동기 및 차단됩니다.

메모

ExecuteOpenEnumadExecuteNoRecords 또는 adExecuteStream 값을 Open사용하면 안 됩니다.

발언

ADO Recordset 기본 커서는 서버에 있는 전달 전용 읽기 전용 커서입니다.

Recordset 개체에서 Open 메서드를 사용하면 기본 테이블의 레코드, 쿼리 결과 또는 이전에 저장된 Recordset나타내는 커서가 열립니다.

선택적 Source 인수를 사용하여 Command 개체 변수, SQL 문, 저장 프로시저, 테이블 이름, URL 또는 전체 파일 경로 이름 중 하나를 사용하여 데이터 원본을 지정합니다. 원본 파일 경로 이름인 경우 전체 경로("c:\dir\file.rst"), 상대 경로(".)가 될 수 있습니다. \file.rst") 또는 URL(https://files/file.rst)입니다.

호출이 성공했는지 여부를 확인하는 쉬운 방법이 없기 때문에 Open 메서드의 Source 인수를 사용하여 레코드를 반환하지 않는 작업 쿼리를 수행하는 것은 좋지 않습니다. 이러한 쿼리에서 반환된 레코드 집합 닫힙니다. SQL INSERT 문과 같은 레코드를 반환하지 않는 쿼리를 수행하려면 Command 개체의 Execute 메서드 또는 Connection 개체의 Execute 메서드를 대신 호출합니다.

ActiveConnection 인수는 ActiveConnection 속성에 해당하며 Recordset 개체를 열 연결을 지정합니다. 이 인수에 대한 연결 정의를 전달하면 ADO는 지정된 매개 변수를 사용하여 새 연결을 엽니다. CursorLocation 속성을 adUseClient 설정하여 클라이언트 쪽 커서로 Recordset 연 후 이 속성의 값을 변경하여 다른 공급자에게 업데이트를 보낼 수 있습니다. 또는 이 속성을 Nothing(Microsoft Visual Basic) 또는 NULL로 설정하여 Recordset 공급자의 연결을 끊을 수 있습니다. 그러나 서버 쪽 커서에 대한 ActiveConnection 변경하면 오류가 발생합니다.

Recordset 개체(Source, CursorTypeLockType)의 속성에 직접 해당하는 다른 인수의 경우 속성에 대한 인수의 관계는 다음과 같습니다.

  • 속성은 Recordset 개체를 열기 전에 읽기/쓰기가 가능합니다.

  • 속성 설정은 Open 메서드를 실행할 때 해당 인수를 전달하지 않는 한 사용됩니다. 인수를 전달하면 해당 속성 설정이 재정의되고 속성 설정이 인수 값으로 업데이트됩니다.

  • Recordset 개체를 연 후 이러한 속성은 읽기 전용이 됩니다.

메모

ActiveConnection 속성은 Recordset 개체가 열려 있지 않더라도 Source 속성이 유효한 Command 개체로 설정된 Recordset 개체에 대해 읽기 전용입니다.

Source 인수에 Command 개체를 전달하고 ActiveConnection 인수도 전달하면 오류가 발생합니다. Command 개체의 ActiveConnection 속성을 이미 유효한 Connection 개체 또는 연결 문자열로 설정해야 합니다.

Source 인수에 Command 개체 이외의 항목을 전달하는 경우 Options 인수를 사용하여 Source 인수의 평가를 최적화할 수 있습니다. Options 인수가 정의되지 않은 경우 ADO가 공급자를 호출하여 인수가 SQL 문, 저장 프로시저, URL 또는 테이블 이름인지 확인해야 하기 때문에 성능이 저하될 수 있습니다. 사용 중인 원본 유형을 알고 있는 경우 Options 인수를 설정하면 ADO에서 관련 코드로 직접 이동하도록 지시합니다. Options 인수가 원본 형식과 일치하지 않으면 오류가 발생합니다.

Source 인수에 Stream 개체를 전달하는 경우 다른 인수에 정보를 전달하면 안 됩니다. 이렇게 하면 오류가 생성됩니다. StreamRecordset 열면 ActiveConnection 정보가 유지되지 않습니다.

Options 인수의 기본값은 Recordset연결된 연결이 없는 경우 adCmdFile . 이는 일반적으로 영구적으로 저장된 Recordset 개체의 경우입니다.

데이터 원본이 레코드를 반환하지 않으면 공급자는 BOFEOF 속성을 모두 True설정하며 현재 레코드 위치는 정의되지 않습니다. 커서 형식에서 허용하는 경우 이 빈 Recordset 개체에 새 데이터를 추가할 수 있습니다.

열려 있는 Recordset 개체에 대한 작업을 완료한 경우 Close 메서드를 사용하여 연결된 시스템 리소스를 해제합니다. 개체를 닫으면 메모리에서 제거되지 않습니다. 속성 설정을 변경하고 Open 메서드를 사용하여 나중에 다시 열 수 있습니다. 메모리에서 개체를 완전히 제거하려면 개체 변수를 Nothing.

ActiveConnection 속성을 설정하기 전에 피연산자 없이 Open 호출하여 필드를 RecordsetFields 컬렉션에 추가하여 만든 Recordset 인스턴스를 만듭니다.

CursorLocation 속성을 adUseClient 설정한 경우 두 가지 방법 중 하나로 행을 비동기적으로 검색할 수 있습니다. 권장되는 방법은 옵션 adAsyncFetch 설정하는 것입니다. 또는 Properties 컬렉션에서 "비동기 행 집합 처리" 동적 속성을 사용할 수 있지만 adAsyncFetch Options 매개 변수를 설정하지 않으면 관련 검색된 이벤트가 손실될 수 있습니다.

메모

MS 원격 공급자의 백그라운드 인출은 Open 메서드의 Options 매개 변수를 통해서만 지원됩니다.

메모

http 체계를 사용하는 URL은 Microsoft OLE DB Provider for Internet Publishing자동으로 호출합니다. 자세한 내용은 절대 및 상대 URL참조하세요.

CommandTypeEnumExecuteOptionEnum 값의 특정 조합은 유효하지 않습니다. 결합할 수 없는 옵션에 대한 자세한 내용은 ExecuteOptionEnumCommandTypeEnum항목을 참조하세요.

적용 대상

ADO(Recordset 개체)

참고 항목

VB(Open and Close 메서드 예제)
Open 및 Close 메서드 예제(VBScript)
메서드 열기 및 닫기 예제(VC++)
VB(Save and Open Methods Example)
Open 메서드(ADO 연결)
Open 메서드(ADO 레코드)
Open 메서드(ADO Stream)
openSchema 메서드
Save 메서드