为数据处理扩展插件实现连接类

Connection 对象表示数据库连接或类似的资源,它是 SQL Server Reporting Services 数据处理扩展插件的用户的起点。 它表示与数据库服务器的连接,尽管可以将任何具有类似行为的实体公开为 Connection。

若要实现 Connection 对象,请创建一个实现 IDbConnection 并可选实现 IDbConnectionExtension 的类。

在实现中,您必须确保先创建和打开一个连接,然后才能执行命令。 确保您的实现要求客户端显式打开和关闭连接,而不是让实现为客户端隐式打开和关闭连接。 在获取连接时,将执行安全检查。 需要 SSRS 数据处理扩展插件中其他类的现有连接可确保在使用数据源时始终执行安全检查。

所需连接的属性表示为一个连接字符串。 SSRS 数据处理扩展插件应支持 ConnectionString 使用 OLE DB 定义的熟悉的名称/值对系统的属性。

注意

获取 Connection 对象通常需要消耗大量的资源,因此,可能需要考虑通过池连接或其他方法来减轻资源的占用。

IDbConnectionIExtension 继承。 您必须将 IExtension 接口作为连接类实现的一部分而实现。 借助于 IExtension 接口,类可以实现本地化的扩展插件名称并处理存储在 Reporting Services 配置文件中的扩展插件特定的配置信息。

Connection 对象通过其 IExtension 的实现包含 LocalizedName 属性。 Reporting Services 数据处理扩展插件应支持该 LocalizedName 属性。 支持允许用户在用户界面(如报表管理器)中遇到扩展的熟悉本地化名称。

IExtension 还使 Connection 对象能够检索和处理存储在 RSReportServer.config 文件中的自定义配置数据。 有关处理自定义配置数据的详细信息,请参阅 SetConfiguration 方法。

卸载数据处理扩展插件类的其余部分时,不会从内存中卸载实现 IExtension 的类。 因此,可以使用 Extension 类存储跨连接状态信息或存储可在内存中缓存的数据。 只要报表服务器正在运行,Extension 类就保持在内存中。

可以通过实现 IDbConnectionExtension 来扩展 Connection 类,以便在 Reporting Services 中包含对于凭据的支持。 当实现 IDbConnectionExtension 接口的 IntegratedSecurityUserNamePassword 属性时,就在报表设计器的“数据源”对话框中启用了“集成安全性”复选框以及“用户名”和“密码”文本框。 这使报表设计器能够针对支持身份验证的数据源存储和检索凭据。 将以安全的方式存储凭据,当以预览模式呈现报表时将使用这些凭据。

注意

隐式实现 IDbConnectionExtension 要求您实现 IDbConnectionIExtension 接口的成员。

有关示例连接类实现,请参阅 CodePlex 上的 Reporting Services 示例(SQL Server Reporting Services SSRS)。