ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作的消息架构

Microsoft BizTalk Adapter for SQL Server 公开根级别的 ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 出站操作,以执行 SQL Server 中的任何任意 SQL 语句。

详细信息:

ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作的消息结构

这些操作中的消息遵循请求-响应消息交换模式,下表显示了这些请求和响应消息的结构。

操作 XML 消息 说明
ExecuteNonQuery 请求 <ExecuteNonQuery xmlns="http://schemas.microsoft.com/Sql/2008/05/GenericTableOp/"> <Query>[PL/SQL STATEMENT1];[PL/SQL STATEMENT2];…</Query> </ExecuteNonQuery> 在 标记中 <Query> ,可以指定多个用分号分隔的 PL/SQL 语句。
ExecuteNonQuery 响应 <?xml version="1.0" encoding="utf-8" ?> <ExecuteNonQueryResponse xmlns="http://schemas.microsoft.com/Sql/2008/05/GenericTableOp/"> <ExecuteNonQueryResult>[value]</ExecuteNonQueryResult> </ExecuteNonQueryResponse> 对于 UPDATE、INSERT 和 DELETE 语句, [value] 表示 在 ExecuteNonQuery 请求 消息中受 PL/SQL 语句影响的行数。 对于所有其他类型的语句, [value] 为 -1。
ExecuteReader 请求 <ExecuteReader xmlns="http://schemas.microsoft.com/Sql/2008/05/GenericTableOp/"> <Query>[PL/SQL STATEMENT1];[PL/SQL STATEMENT2];…</Query> </ExecuteReader> 在 标记中 <Query> ,可以指定多个用分号分隔的 PL/SQL 语句。
ExecuteReader 响应 <?xml version="1.0" encoding="utf-8" ?> <ExecuteReaderResponse xmlns="http://schemas.microsoft.com/Sql/2008/05/GenericTableOp/"> <ExecuteReaderResult> <DataSet> <Any>[value]</Any> <Any>[value]</Any> … </DataSet> </ExecuteReaderResult> </ExecuteReaderResponse> 结果集是在 ExecuteReader 请求 消息中执行的 PL/SQL 语句的响应消息,作为 DataSet 数组返回。 有关数据集的信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkID=196853“数据集类”。
ExecuteScalar 请求 <ExecuteScalar xmlns="http://schemas.microsoft.com/Sql/2008/05/GenericTableOp/"> <Query>[PL/SQL STATEMENT1];[PL/SQL STATEMENT2];…</Query> </ExecuteScalar> 在 标记中 <Query> ,可以指定多个用分号分隔的 PL/SQL 语句。
ExecuteScalar 响应 <?xml version="1.0" encoding="utf-8" ?> <ExecuteScalarResponse xmlns="http://schemas.microsoft.com/Sql/2008/05/GenericTableOp/"> <ExecuteScalarResult>[value]</ExecuteScalarResult> </ExecuteScalarResponse> 表示 [value]ExecuteScalar Request 消息中 PL/SQL 语句返回的结果集中第一行的第一列中的值。

[PL/SQL 语句] = 要执行的整个 PL/SQL 语句。

ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作的消息操作

下表显示了 ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作使用的消息操作。

操作 操作
ExecuteNonQuery 请求 GenericOp/ExecuteNonQuery
ExecuteNonQuery 响应 GenericOp/ExecuteNonQuery/response
ExecuteReader 请求 GenericOp/ExecuteReader
ExecuteReader 响应 GenericOp/ExecuteReader/response
ExecuteScalar 请求 GenericOp/ExecuteScalar
ExecuteScalar 响应 GenericOp/ExecuteScalar/response

另请参阅

适用于 SQL Server 的 BizTalk 适配器的消息和消息架构