【问题标题】:What are the differences between OLEDB/ODBC drivers when connecting to SQL Server?连接到 SQL Server 时,OLEDB/ODBC 驱动程序有什么区别?
【发布时间】:2016-06-18 06:39:07
【问题描述】:

我有一个 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 更适用于数据库。而且 Native 是……Native,所以一定更好……因为名字?

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

【问题讨论】:

  • 我们使用 SQL Server 作为后端,Access 和 Excel 在前端,带有本机客户端。一切正常。
  • @Alex 谢谢。这绝对是在搜索中出现的第一个问题,当然在任何人发布这样的问题之前都是必需的。当我说“多个 cmets 声称答案已过时”时,这个问题也是我所指的,但并不是唯一一个。我想这就是你指出它的原因,以便其他没有做过你所做的搜索的人可以更容易地进入对话,对吧?
  • @CWilson,您发布了一个非常好的问题。我也找不到一篇全面的总结文章来解释所有这些事情,因为它们在 2016 年的情况。信息就在那里,但分散在许多不同的文章中,因此很难构建图片。
  • 这应该重新打开,因为它是一个非常有效的开发问题。它旨在阐明 Microsoft 数据访问技术。

标签: sql-server odbc oledb


【解决方案1】:

ODBC——它是为连接关系数据库而设计的。 但是,OLE DB 可以访问关系数据库以及非关系数据库。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 2020-06-01
    相关资源
    最近更新 更多