title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | helpviewer_keywords | |
---|---|---|---|---|---|---|---|---|---|
Cross-Version Compatibility |
Cross-Version Compatibility |
markingmyname |
maghan |
03/14/2017 |
sql |
native-client |
reference |
|
[!INCLUDESQL Server Azure SQL Database Synapse Analytics PDW]
Cross-version conflicts can occur when client or server instances of [!INCLUDEssNoVersion] earlier than [!INCLUDEsql2008-md] are expected to process table-valued parameters.
In general, table-valued parameter functionality is only available to [!INCLUDEsql2008-md] clients (using SQL Server Native Client 10.0) or later that are connected to [!INCLUDEsql2008-md] (or later) servers. New columns in catalog function result sets will only be present when connected to a [!INCLUDEsql2008-md] (or later) server.
If a client application compiled with an earlier version of [!INCLUDEssNoVersion] Native Client executes statements that expect table-valued parameters, the server detects this condition through a data conversion error, and ODBC returns this as a SQLSTATE 07006 and the message "Restricted data type attribute violation".
If a client application that was compiled with [!INCLUDEssNoVersion] Native Client 10.0 or later tries to use table-valued parameters when connected to a server instance earlier than [!INCLUDEsql2008-md], [!INCLUDEssNoVersion] Native Client will detect this, and SQLBindCol, SQLBindParameter, SQLSetDescFields, and SQLSetDescRec calls will fail with SQLSTATE 07006 and the message "Restricted data type attribute violation (the version of SQL Server for this connection does not support table-valued parameters)".