Table-Valued Parameters (OLE DB)
SQL Server Native Client (SNAC) is not supported beyond SQL Server 2012. Avoid using SNAC in new development work, and plan to modify applications that currently use it. The Microsoft ODBC Driver for SQL Server provides native connectivity from Windows to Microsoft SQL Server and Microsoft Azure SQL Database.
This section describes support for table-valued parameters in SQL Server Native Client OLE DB Provider. For additional overview information, see Table-Valued Parameters (SQL Server Native Client). For a sample, see Use Table-Valued Parameters (OLE DB).
Currently, you can send multirow data to the server as parameters to a procedure with parameter sets (the DBPARAMS parameter in ICommand::Execute). With parameter sets, every element of the set has to be sent in a separate remote procedure call (RPC) request to the server. Table-valued parameters provide similar functionality, but there is better integration with the server. This reduces the number of RPC requests and enables set-based operations on the server.
Table-value parameters are supported in SQL Server Native Client OLE DB Provider as OLE DB Rowset objects. Any Rowset object could be provided by the consumer (that is, the client application using SQL Server Native Client OLE DB Provider) as a placeholder for table-valued parameter parameters. Table-valued parameters are treated like other SQL Server parameter types. The SQL Server Native Client OLE DB Provider provides creation, discovery, specification, binding and schema interfaces.