浏览、搜索和获取 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 适配器可能会显示 EMPLOYEE 表的插入、更新、选择和删除操作。
<设置表和视图的列名>操作,使适配器客户端能够以流式处理方式写入大型数据值。 仅对包含下列任一数据类型的列的表和视图返回 Set 操作:Varchar (Max) 、Nvarchar (Max) 或 Varbinary (Max) 。 有关详细信息,请参阅 使用 SQL 适配器对包含大型数据类型的表和视图的操作。
ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作,使适配器客户端能够在 SQL Server 中执行任意 SQL 语句。 有关这些操作的详细信息,请参阅 对 ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作的支持。
用于从SQL Server接收入站消息的轮询和通知操作。 有关轮询操作的信息,请参阅 支持使用轮询的入站调用;有关通知操作的信息,请参阅 使用 SQL 适配器接收查询通知的注意事项。
有关如何对元数据进行分类的详细信息,请参阅 元数据节点 ID。
搜索元数据
使用 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操作的元数据