连接到SQL Server时OLEDB / ODBC驱动程序之间有什么区别?

问题描述 投票:8回答:1

我有一个SQL Server数据库,我需要通过vbscript将数据推送到它,以及将数据拉入Excel。我找到了多个连接字符串,但是没有存储库可以比较它们的性能和功能。到目前为止我找到的驱动程序选项(Provider=)是:

  • {SQL Server}(ODBC)
  • SQLOLEDB(比ODBC更新,但是deprecated?)
  • SQLOLEDB.1(Excel 2016在点击“获取外部数据”时使用的内容,但在connectionstrings.com上甚至没有提到......我假设上面的新版本,但仍然是不推荐使用的技术?)
  • SQLNCLI11(本机客户端,OLE DB)
  • {SQL Server Native Client 11.0}(本机客户端,ODBC)

我读到的不同的东西说ODBC更好,因为它已经存在更长时间。并且OLE DB已经存在足够长的时间以具有相同的优势。并且OLE DB可以与某个公司的应用程序一起使用。 ODBC是由同一家公司制作的。 OLE DB可以更好地连接到不同类型的应用程序。 ODBC对数据库的效果更好。原生是......原生,所以必须更好......因为这个名字?

我发现这里有多个问题,没有或部分答案,或者有多个评论声称答案已经过时了。那么,截至目前,这些不同驱动因素之间的具体差异是什么?他们在不同情况下有不同的表现吗?他们有不同的功能吗?我是否需要进行性能分析以确定我的特定用例的最佳性能和可靠性,或者是否有Microsoft或某些公认的专家推荐的标准“最佳实践”?或者它们基本上都在做同样的事情,只要它安装在目标系统上并不重要吗?

sql-server odbc oledb
1个回答
1
投票

ODBC-它旨在连接到关系数据库。但是,OLE DB可以访问关系数据库以及非关系数据库。

您的邮件服务器,目录服务,电子表格和文本文件中都有数据。 OLE DB允许SQL Server链接到这些非关系数据库系统。例如,如果要通过SQL Server查询域控制器上的Active Directory,则无法使用ODBC执行此操作,因为它不是关系数据库。但是,您可以使用OLE DB提供程序来完成此操作。

http://www.sqlservercentral.com/Forums/Topic537592-338-1.aspx

© www.soinside.com 2019 - 2024. All rights reserved.