sql-server - 连接到 SQL Server 时,OLEDB/ODBC 驱动程序有什么区别?

标签 sql-server odbc oledb

我有一个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/

相关文章:

sql - 重命名索引给出错误 Explicit @objtype id not recognized

sql - 将列表传递给 SQL 自定义类型

postgresql - 什么是UseDeclareFetch postgresql odbc

sql-server - adArray 的 VBScript/ADODB 语法问题?

excel - 使用 64 位 Excel 连接到 32 位 Oracle 客户端

excel - 我们可以在连接的 Excel 文件打开时修改数据库吗?

sql - 使用 SQL 查询读取 XML 子节点属性

sql-server - SQL Server : How to find all localdb instance names

sql - 语句handle(hstmt)到底是做什么的?在 ODBC 中

mysql - SQuirreL SQL 客户端是否与 QODBC 兼容?