I have an SQL Server database, and I need to push data into it through vbscript, as well as pull data into Excel. I have found multiple connection strings, but no repository for the benefits of performance and functionality comparing them. The driver options (Provider=
) I have found so far are:
- {SQL Server} (ODBC)
- SQLOLEDB (newer than ODBC, but being deprecated?)
- SQLOLEDB.1 (what Excel 2016 uses when clicking 'Get External Data', but not even mentioned on connectionstrings.com... I assume a newer version of the above, but still the deprecated technology?)
- SQLNCLI11 (native client, OLE DB)
- {SQL Server Native Client 11.0} (native client, ODBC)
Different things I read say that ODBC is better because it has been around longer. And that OLE DB has been around long enough to have the same advantages. And OLE DB was made to work with a certain company's applications. And ODBC was made by the same company. And OLE DB can connect to and from different kinds of applications better. And ODBC works better with databases. And Native is...Native, so must be better... because of the name?
I find multiple questions here on SO floating around with no or partial answers, or having multiple comments claiming the answers are out of date. So, as of now, what the specific differences between these different drivers? Do they have different performance in different circumstances? Do they have different features? Do I need to do profiling to determine the best performance and reliability for my particular use case, or is there a standard "best practice" recommended by Microsoft or some recognized expert? Or are they all basically doing the same thing and as long as it's installed on the target system it doesn't really matter?
correct
might get clicks...? I hope that I wasn't out of line, but I obviously wasn't correct. :) However, pros/cons/differences questions are sometimes tagged as too broad? Frankly, the tags should probably change too... I just wanted to fill in more tags, hoping that might attract attention. Also wrong. The input/output software I am using is tangential at best to the core of this question. Suggestions, anyone? – Necroscopy