데이터 처리 확장 프로그램에 대한 Connection 클래스 구현Implementing a Connection Class for a Data Processing Extension

Connection 개체는 데이터 연결 또는 유사한 리소스를 나타내며 SQL ServerSQL Server Reporting ServicesReporting Services 데이터 처리 확장 프로그램 사용자의 시작 위치입니다.The Connection object represents a database connection or similar resource and is the starting point for users of a SQL ServerSQL Server Reporting ServicesReporting Services data processing extension. 데이터베이스 서버에 대한 연결을 나타내며 유사한 동작의 모든 엔터티를 Connection으로 표시할 수 있습니다.It represents connections to database servers, though any entity with similar behavior can be exposed as a Connection.

Connection 개체를 구현하려면 IDbConnection을 구현하고 선택적으로 IDbConnectionExtension을 구현하는 클래스를 만듭니다.To implement a Connection object, create a class that implements IDbConnection and optionally implements IDbConnectionExtension.

구현에서 명령을 실행하려면 먼저 연결을 설정하여 열어두어야 합니다.In your implementation, you must ensure that a connection is created and opened before commands can be executed. 구현에서 클라이언트를 위해 연결을 암시적으로 열고 닫도록 하지 말고, 클라이언트가 연결을 명시적으로 열고 닫도록 구현에서 요구하도록 해야 합니다.Ensure that your implementation requires clients to open and close connections explicitly, rather than having your implementation open and close connections implicitly for the client. 연결이 이루어지면 보안 검사를 수행합니다.Perform your security checks when the connection is obtained. SSRSSSRS 데이터 처리 확장 프로그램에서 다른 클래스에 대한 기존 연결이 필요한 경우 데이터 원본 작업을 할 때 항상 보안 검사가 수행되도록 합니다.Requiring an existing connection for the other classes in your SSRSSSRS data processing extension will then ensure that security checks are always performed when working with your data source.

필요한 연결의 속성이 연결 문자열로 나타납니다.The properties of the desired connection are represented as a connection string. SSRSSSRS 데이터 처리 확장 프로그램이 OLE DB에서 정의된 친숙한 이름/값 쌍 시스템을 사용하여 ConnectionString 속성을 지원하도록 하는 것이 좋습니다.It is strongly recommended that SSRSSSRS data processing extensions support the ConnectionString property using the familiar name/value pair system defined by OLE DB.

참고

Connection 개체는 대개 확보하기 어려운 리소스이므로 이 문제를 완화하기 위해 풀링 연결이나 다른 기술을 사용할 수 있습니다.Connection objects are often resource-intensive to obtain, so you may want to consider pooling connections or other techniques to mitigate this.

IDbConnectionIExtension에서 상속됩니다.IDbConnection inherits from IExtension. IExtension 인터페이스는 연결 클래스 구현의 일부로 구현해야 합니다.You must implement the IExtension interface as part of your connection class implementation. IExtension 인터페이스를 통해 클래스에서 지역화된 확장 프로그램 이름을 구현하고 Reporting ServicesReporting Services 구성 파일에 저장된 확장 프로그램별 구성 정보를 처리할 수 있습니다.The IExtension interface enables a class to implement a localized extension name and to process extension-specific configuration information stored in the Reporting ServicesReporting Services configuration file.

Connection 개체에는 IExtension의 구현을 통해 LocalizedName 속성이 포함됩니다.Your Connection object contains the LocalizedName property through its implementation of IExtension. 확장 프로그램의 사용자 인터페이스에서 보고서 관리자와 같이 친숙하고 지역화된 이름이 사용자에게 표시되도록 Reporting ServicesReporting Services 데이터 처리 확장 프로그램에서 LocalizedName 속성을 지원하는 것이 좋습니다.It is strongly recommended that Reporting ServicesReporting Services data processing extensions support the LocalizedName property, so that users encounter a familiar, localized name for the extension in a user interface, such as Report Manager.

또한 IExtension을 통해 Connection 개체가 RSReportServer.config 파일에 저장된 사용자 지정 구성 데이터를 검색하고 처리할 수 있습니다.IExtension also enables your Connection object to retrieve and process custom configuration data stored in the RSReportServer.config file. 사용자 지정 구성 데이터를 처리하는 방법은 SetConfiguration 메서드를 참조하십시오.For more information about processing custom configuration data, see the SetConfiguration method.

IExtension을 구현하는 클래스는 나머지 데이터 처리 확장 프로그램 클래스가 언로드될 때 메모리에서 언로드되지 않습니다.The class that implements IExtension is not unloaded from memory when the rest of your data processing extension classes are unloaded. 그렇기 때문에 Extension 클래스를 사용하여 상호 연결 상태 정보를 저장하거나 메모리에 캐시할 수 있는 데이터를 저장할 수 있습니다.Because of this, you can use your Extension class to store cross-connection state information or to store data that can be cached in memory. Extension 클래스는 보고서 서버가 실행되는 동안 메모리에 남아 있습니다.Your Extension class remains in memory as long as the report server is running.

IDbConnectionExtension을 구현하여 Reporting ServicesReporting Services에서 자격 증명에 대한 지원이 포함되도록 Connection 클래스를 확장할 수 있습니다.You can extend your Connection class to include support for credentials in Reporting ServicesReporting Services by implementing IDbConnectionExtension. IDbConnectionExtension 인터페이스의 IntegratedSecurity, UserNamePassword 속성을 구현할 때 보고서 디자이너의 데이터 원본 대화 상자에서 통합 보안 확인란 및 사용자 이름암호 입력란을 사용할 수 있습니다.When you implement the IntegratedSecurity, UserName, and Password properties of the IDbConnectionExtension interface, you enable the Integrated Security check box and Username and Password text boxes of the Data Source dialog in Report Designer. 이를 통해 보고서 디자이너에서 인증을 지원하는 데이터 원본에 대한 자격 증명을 저장하고 검색할 수 있습니다.This enables Report Designer to store and retrieve credentials for data sources that support authentication. 자격 증명은 안전하게 저장되고 미리 보기 모드에서 보고서를 렌더링할 때 사용됩니다.The credentials are stored securely and used when rendering reports in preview mode.

참고

IDbConnectionExtension을 암시적으로 구현하려면 IDbConnectionIExtension 인터페이스의 멤버를 구현해야 합니다.Implementing IDbConnectionExtension implicitly requires you to implement the members of the IDbConnection and IExtension interfaces.

예제 Connection 클래스 구현은 SQL Server Reporting Services 제품 예제를 참조하십시오.For a sample Connection class implementation, see SQL Server Reporting Services Product Samples.

관련 항목:See Also

Reporting Services 확장 프로그램 Reporting Services Extensions
데이터 처리 확장 프로그램 구현 Implementing a Data Processing Extension
Reporting Services 확장 라이브러리Reporting Services Extension Library