准备实现数据处理扩展插件
在实现 SQL Server Reporting Services 数据处理扩展之前,应定义要实现的接口。 你可能想要提供整个接口集的特定于扩展的实现,或者你可能希望将实现集中在子集上,例如IDataReaderIDbCommand客户端将主要与结果集作为 DataReader 对象交互的接口,并将 SSRS 数据处理扩展插件用作结果集和数据源之间的桥梁。
然后,您可以通过以下两种方式之一实现数据处理扩展插件:
数据处理扩展插件类可以实现 Microsoft .NET Framework 数据提供程序接口,并且可以选择实现 Reporting Services 提供的扩展数据处理扩展插件接口。
你的数据处理扩展插件类可以实现 Reporting Services 提供的数据处理扩展插件接口,并且可以选择实现扩展数据处理扩展插件接口。
如果 Reporting Services 数据处理扩展插件不支持特定属性或方法,请将属性或方法实现为无操作。 如果某一客户端期望特定的行为,则引发 NotSupportedException 异常。
注意
某一属性或方法的无操作实现只应用于您选择实现的那些接口的属性和方法。 您选择不实现的可选接口应排除在您的数据处理扩展插件程序集之外。 有关某一接口是必需接口还是可选接口的详细信息,请参阅本节后面的表。
所需的扩展功能
每个 Reporting Services 数据处理扩展插件都必须提供以下功能:
打开与数据源之间的连接。
分析查询并返回结果集的字段名的列表。
对数据源执行查询,并返回行集。
将单值参数传递到查询。
遍历行集中的行,并检索数据。
可以扩展每个数据处理扩展插件以包含以下功能:
分析某一查询,并返回该查询中所使用的参数名称的列表。
分析某一查询,并返回按该查询分组的字段的列表。
分析某一查询,并返回按该查询排序的字段的列表。
提供用户名和密码以连接到独立于连接字符串的数据源。
遍历行集中的行,并检索与数据值有关的辅助元数据。
在服务器聚合数据。
可用的扩展接口
下表介绍可用接口以及实现是必需的还是可选的。
接口 | 描述 | 实现 |
---|---|---|
IDbConnection | 表示与某一数据源的唯一会话。 在客户端/服务器数据库服务器系统中,会话可能等效于与服务器的网络连接。 | 必须 |
IDbConnectionExtension | 表示 SSRS 数据处理扩展插件可以针对安全性和身份验证实现的更多连接属性。 | 可选 |
IDbTransaction | 表示本地事务。 | 必选 |
IDbTransactionExtension | 表示可由 SSRS 数据处理扩展插件实现的更多事务属性。 | 可选 |
IDbCommand | 表示在连接到数据源时使用的查询或命令。 | 必选 |
IDbCommandAnalysis | 表示用于分析查询并返回查询中使用的参数名称列表的更多命令信息。 | 可选 |
IDataParameter | 表示传递到命令或查询的参数或名称/值对。 | 必选 |
IDataParameterCollection | 表示与某一命令或查询相关的所有参数的集合。 | 必选 |
IDataReader | 提供从数据源读取数据的只进、只读流的方法。 | 必选 |
IDataReaderExtension | 提供一种方法来读取一个或多个通过在数据源执行命令所获得的只进结果集流。 此接口为字段聚合提供了更大的支持。 | 可选 |
IExtension | 为 Reporting Services 数据处理扩展插件提供基类。 还使实现者可为扩展插件包括本地化的名称并将配置设置从配置文件传递到扩展插件。 | 必选 |
数据处理扩展插件接口将尽可能与 .NET Framework 数据提供程序接口、方法和属性的子集完全相同。 有关实现完整 .NET Framework 数据提供程序的详细信息,请参阅 .NET Framework 软件开发包 (SDK) 文档中的“实现 .NET Framework 数据访问接口”。