We have an application written in C (not c++) that uses sqlncli.h, specifically, the ODBC implementation and not OLEDB. According to Microsoft
The SQL Server Native Client (SQLNCLI) remains deprecated and it is not recommended to use it for new development work. Instead, use the new Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) which will be updated with the most recent server features.
This quote links to the MSOLEDBSQL article which explains how to build applications with MSOLEDBSQL indicating you should:
-
To use the new Microsoft OLE DB Driver for SQL Server in existing applications, you should plan to convert your connection strings from SQLOLEDB or SQLNCLI, to MSOLEDBSQL.
and
- Use the new headers (article it links to is here)
It's that simple, right? Not really, because we've tried to follow these instructions and implement the new header (msoledbsql.h) and it doesn't seem to support older data types such as DBINT which are from sqlncli.h. So, I'm thinking at this point the deprecation announcement may not pertain to ODBC. And the comment
As such, backwards compatibility with applications currently using SNAC 11 is maintained in this new release
found here only pertains to OLEDB
My question is that if you are using SQLNCLI ODBC (and not SQLNCLI OLEDB), it seems that is not actually deprecated. Is that correct? As an example, the deprecation warning exists for OLEDB here, but not for the ODBC page here.
Thanks in advance for the help.