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

  • {SQL Server}(ODBC)
  • SQLOLEDB(比ODBC更新,但是是deprecated吗?)
  • SQLOLEDB.1(单击“获取外部数据”时Excel 2016使用什么,但在connectionstrings.com上甚至没有提及...我认为是上述版本的较新版本,但仍然不赞成使用该技术?)
  • SQLNCLI11( native 客户端,OLE DB)
  • {SQL Server native 客户端11.0}( native 客户端,ODBC)

  • 我读过的不同文章都说ODBC更好,因为它存在的时间更长了。 OLE DB已经存在了很长的时间,才具有相同的优势。 OLE DB可以与某个公司的应用程序一起使用。 ODBC是由同一家公司生产的。 OLE DB可以更好地与不同类型的应用程序进行连接。 ODBC与数据库更好地配合使用。而且Native是... Native,所以必须更好...因为名字?

    我在SO上发现了多个问题,这些问题四处徘徊,没有答案或部分答案,或者有多个评论声称答案已过时。那么,截至目前,这些不同的驱动程序之间的具体区别是什么?他们在不同情况下有不同的表现吗?它们有不同的功能吗?我是否需要进行性能分析以确定我的特定用例的最佳性能和可靠性,或者是否有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/

    10-11 03:19