ADOMD.NET에서 연결 설정

ADOMD.NET에서는 AdomdConnection 개체를 사용하여 MicrosoftSQL ServerAnalysis Services 데이터베이스와 같은 분석 데이터 원본에 대한 연결을 엽니다. 연결이 더 이상 필요하지 않으면 명시적으로 연결을 닫아야 합니다.

연결 열기

ADOMD.NET에서 연결을 열려면 먼저 연결 문자열을 유효한 분석 데이터 원본 및 데이터베이스로 지정해야 합니다. 그런 다음 해당 데이터 원본에 대한 연결을 명시적으로 열어야 합니다.

다차원 데이터 원본 지정

분석 데이터 원본 및 데이터베이스를 지정하려면 AdomdConnection 개체의 ConnectionString 속성을 설정합니다. ConnectionString 속성에 지정된 연결 문자열은 OLE DB 호환 문자열입니다. ADOMD.NET에서는 지정된 연결 문자열을 사용하여 서버에 연결하는 방법을 결정합니다.

ConnectionString 속성은 기존 AdomdConnection 개체에서 설정되거나 AdomdConnection 개체의 인스턴스가 만들어지는 동안 설정될 수 있습니다. 다음 코드에서는 [:Microsoft.AnalysisServices.AdomdClient.AdomdConnection]을 만들 때 ConnectionString 속성을 설정하는 방법을 보여 줍니다.

Dim advwrksConnection As New AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS")
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString)
AdomdConnection advwrksConnection = new AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS");
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString);

데이터 원본에 대한 연결 열기

연결 문자열을 지정한 후에는 Open 메서드를 사용하여 연결을 열어야 합니다. AdomdConnection 개체를 열 때 연결에 대해 다양한 보안 수준을 설정할 수 있습니다. 연결에 사용되는 보안 수준은 ProtectionLevel 연결 문자열의 설정 값에 따라 달라집니다. ADOMD.NET에서 보안 연결을 여는 방법에 대한 자세한 내용은 ADOMD.NET에서 보안 연결 설정을 참조하십시오.

연결 사용

각각의 열린 연결은 상태 저장 작업을 지원하는 세션에 존재합니다. 둘 이상의 열린 연결에서 한 세션을 공유할 수 있습니다. 세션을 공유하면 둘 이상의 클라이언트가 같은 컨텍스트를 공유할 수 있습니다. 자세한 내용은 ADOMD.NET에서 연결 및 세션 작업을 참조하십시오.

열린 연결을 사용하여 메타데이터와 데이터를 검색하고 명령을 실행할 수 있습니다. 자세한 내용은 분석 데이터 원본에서 메타데이터 검색, 분석 데이터 원본에서 데이터 검색분석 데이터 원본에 대한 명령 실행을 참조하십시오.

연결이 열려 있으면 커밋된 읽기 트랜잭션 내에서 데이터와 메타데이터를 검색하고 명령을 실행할 수 있습니다. 데이터를 읽는 동안 더티 읽기를 방지하기 위해 공유 잠금이 유지되지만 트랜잭션이 끝나기 전에 데이터가 변경되어 반복되지 않은 읽기나 팬텀 데이터가 생성될 수도 있습니다. 자세한 내용은 ADOMD.NET에서 트랜잭션 수행을 참조하십시오.

연결 닫기

연결이 더 이상 필요하지 않으면 AdomdConnection 개체를 명시적으로 닫는 것이 좋습니다. 연결을 명시적으로 닫으려면 AdomdConnection 개체의 CloseDispose 메서드를 사용합니다.

연결을 명시적으로 닫지 않았으나 연결이 범위를 벗어날 수 있는 경우 서버 리소스를 신속하게 해제하지 못하여 높은 동시성을 요구하는 Analysis Services 클라이언트 응용 프로그램에서 새 연결을 효율적으로 열지 못할 수도 있습니다. 연결을 명시적으로 닫지 않은 경우 연결을 만든 방법에 따라 AdomdConnection 개체에 사용된 세션이 활성 상태로 유지될 수 있습니다.

세션에 대한 자세한 내용은 ADOMD.NET에서 연결 및 세션 작업을 참조하십시오.

중요 정보중요

구현된 클래스의 Finalize 메서드에서 AdomdConnection 개체, AdomdDataReader 개체 또는 기타 관리 개체의 Close 또는 Dispose 메서드를 호출하지 마십시오. 종료자에서 구현된 클래스가 직접 소유하는 관리되지 않는 리소스만 해제해야 합니다. 구현된 클래스에 관리되지 않는 리소스가 없는 경우 클래스 정의에 Finalize 메서드를 포함하지 마십시오.