执行语句时,对数据源调用存储过程(而不是直接在客户端应用程序中执行或准备语句)可以提供:
性能更高。
减少了网络开销。
更好的一致性。
更好的准确性。
添加了功能。
SQL Server Native Client OLE DB 访问接口支持 SQL Server 存储过程用于返回数据的三种机制:
过程中的每个 SELECT 语句都会生成一个结果集。
该过程可以通过输出参数返回数据。
该过程可以有一个整数返回代码。
应用程序必须能够处理存储过程中的所有输出。
在结果处理期间,不同的 OLE DB 提供程序返回输出参数和返回值。 对于 SQL Server Native Client OLE DB 提供程序,在使用者检索或取消存储过程返回的结果集之后,才会提供输出参数和返回代码。 返回代码和输出参数在服务器的最后一个 TDS 数据包中返回。
提供程序使用 DBPROP_OUTPUTPARAMETERAVAILABILITY 属性在返回输出参数和返回值时报告。 此属性位于DBPROPSET_DATASOURCEINFO属性集中。
SQL Server Native Client OLE DB 访问接口将DBPROP_OUTPUTPARAMETERAVAILABILITY属性设置为DBPROPVAL_OA_ATROWRELEASE,以指示在处理或释放结果集之前不会返回返回代码和输出参数。