我有一个SQL Server数据库,我需要通过vbscript将数据推送到其中,以及将数据提取到Excel中。我发现了多个连接字符串,但没有存储库来比较它们的性能和功能优势。到目前为止我发现的驱动程序选项(Provider=
)是:
- {SQL Server} (ODBC)
- SQLOLEDB(比 ODBC 新,但为 deprecated?)
- SQLOLEDB.1(Excel 2016 在单击“获取外部数据”时使用的内容,但在 connectionstrings.com 上甚至没有提及...我假设是上述版本的较新版本,但仍然是已弃用的版本技术?)
- SQLNCLI11( native 客户端、OLE DB)
- {SQL Server Native Client 11.0}( native 客户端、ODBC)
我读到的不同内容都说 ODBC 更好,因为它存在的时间更长。而且 OLE DB 已经存在了足够长的时间,具有相同的优势。 OLE DB 是为了与某家公司的应用程序配合使用而设计的。 ODBC是同一家公司生产的。 OLE DB 可以更好地连接不同类型的应用程序。 ODBC 与数据库配合得更好。而 Native 是...Native,所以一定更好...因为这个名字?
我在这里发现了多个问题,但没有或部分答案,或者有多个评论声称答案已过时。那么,到目前为止,这些不同驱动程序之间的具体区别是什么?他们在不同的情况下有不同的表现吗?它们有不同的特点吗?我是否需要进行分析以确定特定用例的最佳性能和可靠性,或者是否有 Microsoft 或某些公认专家推荐的标准“最佳实践”?或者他们基本上都在执行以下操作同样的事情,只要它安装在目标系统上就并不重要?
最佳答案
ODBC-它是为连接到关系数据库而设计的。 但是,OLE DB 可以访问关系数据库以及非关系数据库。
您的邮件服务器、目录服务、电子表格和文本文件中都有数据。 OLE DB 允许 SQL Server 链接到这些非关系数据库系统。例如,如果您想通过 SQL Server 查询域 Controller 上的 Active Directory,则无法使用 ODBC 来执行此操作,因为它不是关系数据库。但是,您可以使用 OLE DB 提供程序来完成此任务。
http://www.sqlservercentral.com/Forums/Topic537592-338-1.aspx
关于sql-server - 连接到 SQL Server 时,OLEDB/ODBC 驱动程序有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37894058/