【发布时间】: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