ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作的消息架构
Microsoft BizTalk Adapter for SQL Server 公开根级别的 ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 出站操作,以执行 SQL Server 中的任何任意 SQL 语句。
详细信息:
这些操作请参阅 对 ExecuteNonQuery、ExecuteReader 和 ExecuteScalar 操作的支持。
使用 SQL 适配器执行这些操作,请参阅使用 BizTalk Server 在 SQL 中执行 ExecuteReader、ExecuteScalar 或 ExecuteNonQuery 操作。
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 |