Selection of OLE DB driver for COM based application?

James J 586 Reputation points
2021-09-11T04:29:07.677+00:00

Hi,

Currently our application is having mixed of technologies C++, C# and Angular script. We are using SQL server native client for COM based application and ADO.NET for C# application. We are supporting SQL server 2016 and 2019. Currently we are using SQL server 2012 native client v11.0. We are planning to upgrade to OLE DB drive for native client to OLE DB driver part of upgrade process.

After my research, My understanding is not required to upgrade COM Based application SQL server native client to OLE DB driver if we are not needed SQL server new features. So, for C++ application we are planning to upgrade SQL native server 2012 v11 SP4, Which I believe is good enough.

Please let me know if I am keeing the SQL server native client in our system because Microsoft recommended to use OLE DB driver. Will it any impact on my approach.

It will be helpful if we give more details.

Note: I do not see any places Microsft says, SQL server 2012 native client not supports in SQL server 2016 and 2019. Correct me If I am wrong.

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
13,129 questions
C#
C#
An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,533 questions
C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,605 questions
{count} votes

Accepted answer
  1. AmeliaGu-MSFT 13,961 Reputation points Microsoft Vendor
    2021-09-13T02:55:29.987+00:00

    Hi JamesJ-9502,

    Which link says SNAC 11 supports SQL server 2014 and later (Which inclues SQL server 2019).

    Quoting from this link:

    131406-image.png

    But using Native Client 11.0 to connect to SQL Server 2019 may encounter the errors sometimes when using new features. It is recommended to use the new Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) which will be updated with the most recent server features. Here is a similar thread which might help.
    Best Regards,
    Amelia


    If the answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

3 additional answers

Sort by: Most helpful
  1. AgaveJoe 27,091 Reputation points
    2021-09-11T11:21:56.443+00:00

    Note: I do not see any places Microsft says, SQL server 2012 native client not supports in SQL server 2016 and 2019. Correct me If I am wrong.

    The Microsoft® SQL Server® 2012 Native Client download page states the following, "Note that Microsoft will not be releasing a SQL Server 2014 or later version of the SQL Server Native Client. The SQL Server 2012 Native Client (v11, e.g. sqlncli11.dll), can continue to be utilized by SQL Server 2014 and later versions."

    Also see the SQL Server Native Client official docs which has a link to the SNAC lifecycle explained.


  2. Bruce (SqlWork.com) 59,546 Reputation points
    2021-09-11T15:33:59.2+00:00

    Under the covers sql uses the TDS protocol (originally from Sybase). To add new data types and features this protocol must be updated. So far Sqlserver has supported all versions of the protocol, so old clients can still connect and query. You are restricted to features the client version of the protocol supported.

    https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-tds/b46a581a-39de-4745-b076-ec4dbb7d13ec

    0 comments No comments

  3. Erland Sommarskog 104.3K Reputation points MVP
    2021-09-12T14:34:47.807+00:00

    The best choice would be to use the MSOLEDBSQL provider, which is the latest version of the OLE DB provider. It is a new provider, just a development of the old SQL Native Client provider.

    You find it at https://learn.microsoft.com/en-us/sql/connect/oledb/download-oledb-driver-for-sql-server?view=sql-server-ver15

    0 comments No comments