浏览、搜索和获取 SQL Server 元数据

Microsoft BizTalk Adapter for SQL Server 从 SQL Server 数据库中显示的元数据描述了使用该适配器与 SQL Server 数据库通信的消息结构。 SQL 适配器支持两个用于检索元数据的接口。

  • Windows Communication Foundation (WCF) 提供的 MetadataExchange。 WCF 为所有 WCF 绑定提供元数据交换终结点,使客户端能够从SQL Server数据库获取元数据。

  • 由 Microsoft Windows Communication Foundation (WCF) 业务线提供的 IMetadataRetrievalContract (LOB) 适配器 SDK,该 SDK 支持适配器的元数据浏览和搜索功能。

    SQL 适配器显示SQL Server数据库项目以及适配器客户端可以调用的相应操作。 该适配器还显示可用于对SQL Server数据库执行特定操作的操作 (,例如 ExecuteNonQuery、ExecuteReader 和 ExecuteScalar) 。 这些操作将在本主题的后面部分进行讨论。

注意

SQL 适配器显示当前已连接用户有权访问的 SQL Server 数据库中所有架构中的项目。 这意味着,除了默认架构 (dbo) 外,适配器客户端还可以对 SQL Server 数据库中其他架构中的项目执行操作,前提是使用 SQL 适配器进行连接的用户凭据有权访问 SQL Server 数据库中的这些架构。 有关 SQL Server 数据库中的架构的信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=130148

可以使用适配器客户端浏览、搜索和检索元数据,方法是:

  • 在 Visual Studio 中创建 BizTalk 项目

  • 使用 WCF 服务模型

  • 使用 WCF 通道模型

    使用 BizTalk 项目时,必须使用“使用适配器服务 BizTalk 项目外接程序”或“添加适配器元数据向导”为要对 SQL Server 数据库执行的操作生成元数据。 使用 WCF 服务模型时,必须使用添加适配器服务引用 Visual Studio 插件生成代理类,以便对 SQL Server 数据库执行操作。 有关使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用插件”浏览、搜索和检索元数据的详细信息,请参阅使用 SQL 适配器在 Visual Studio 中获取SQL Server操作的元数据

浏览元数据

SQL 适配器使适配器客户端能够浏览SQL Server数据库中可用的数据库表、视图、存储过程和函数。 作为元数据浏览操作的一部分,适配器还会显示可在SQL Server数据库上执行的操作,包括适配器支持的一些自定义操作。 这些操作可从使用适配器服务加载项、添加适配器元数据向导或添加适配器服务引用插件获取。 SQL 适配器显示以下操作:

搜索元数据

使用 SQL 适配器,可以使用与 LIKE 运算符兼容的SQL Server搜索表达式对 SQL Server 数据库执行搜索查询。 例如,适配器客户端可以使用搜索表达式(如“EMP%”)来获取以 EMP 开头的表。 适配器将此转换为以下 SQL 查询:

SELECT TABLE_NAME FROM ALL_TABLES WHERE TABLE_NAME LIKE 'EMP%'

下表列出了 SQL 适配器可用于搜索及其解释的特殊字符。

特殊字符 解释
_(下划线) 正好匹配一个字符。

例如,“A_”与“AB”、“AC”、“AD”匹配。
% (百分比) 与零个或多个字符匹配。

例如,“A%”与“A”、“AB”、“ABC”匹配。
[ ] - 转义 _ 和 %的特殊含义。
- 指定要存在的一个范围或一组字符。

例如:

- %[%]% 匹配包含 % 符号的所有名称。
- [a-f] 匹配在 和 之间具有字符的所有名称,包括“a”和“f”。
- [abc] 匹配具有字符“a”、“b”和“c”的所有名称。
[^] 指定不存在的范围或字符集。

例如:

- [^a-f] 匹配所有在 和 之间没有字符的名称,包括“a”和“f”。
- [^abc] 匹配所有没有字符“a”、“b”和“c”的名称。

重要

元数据搜索范围限制为紧邻执行搜索操作的节点下的级别。 例如,若要搜索标量函数,必须在 /Scalar Function/[Schema] 下进行搜索。 不支持多级搜索。

检索元数据

检索元数据时,SQL 适配器可以在架构下提取元数据,包括具有相应对象和操作参数的所有或部分数据库对象。 适配器将SQL Server数据库中的实体显示为 XML 中的元素名称。 由于下划线是唯一允许包含的特殊字符,因此元素名称中的所有其他特殊字符都使用下划线进行编码。 例如, emp$name 编码为 emp_x0024_name

另请参阅

用于 SQL Server的 BizTalk 适配器概述了解用于 SQL Server的 BizTalk 适配器使用 SQL 适配器在 Visual Studio 中获取SQL Server操作的元数据