Search code examples
sqlsql-serveroledb

What is the difference between MSOLEDBSQL vs MSOLEDBSQL.1?


I am trying to get the difference between MSOLEDBSQL and MSOLEDBSQL.1 Can anyone please help me to understand this?


Solution

  • MSOLEDBSQL is the version independent ProgID of the COM object. This references the the latest version should multiple installed versions exist.

    MSOLEDBSQL.1 is a version-specific ProgID. This always references version 1, even if a later version is installed.

    The Microsoft OLE DB Driver for SQL Server has only a single version (version 1) as of this writing so both ProgID specifications are functionally identical today. However, a general best practice with COM objects is to specify the versioned ProgID (MSOLEDBSQL.1 here) to avoid a breaking change should a later version with different interface be installed.