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

时间:2016-06-18 06:39:08

标签: sql-server odbc oledb

我有一个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或某些公认专家推荐的标准“最佳实践”?或者他们基本上都在做同样的事情,只要它安装在目标系统上并不重要吗?

1 个答案:

答案 0 :(得分:1)

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

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

{{3}}