本机与ODBC数据库连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本机与ODBC数据库连接相关的知识,希望对你有一定的参考价值。

我知道有些数据库在R(例如mysql)中有本机支持,但您可以使用RODBC连接到其他数据库,如MS SQL Server。使用本机驱动程序与RODBC进行读/写操作可以提高多少速度? R中有哪些其他DB有本机驱动程序?阅读速度是否比一般写作更快或更慢?

答案

如果您对SQL Server特别感兴趣,下面的参考文章有点过时,但我想它可能仍然存在。

Using ODBC with Microsoft SQL Server

ODBC作为Native API的性能

关于ODBC的一直谣言是它本身比原生DBMS API慢。这种推理基于以下假设:必须将ODBC驱动程序实现为本机DBMS API上的额外层,将来自应用程序的ODBC语句转换为本机DBMS API函数和SQL语法。与将应用程序直接调用到本机API相比,此转换工作增加了额外的处理。对于通过本机DBMS API实现的某些ODBC驱动程序,这种假设是正确的,但Microsoft SQL Server ODBC驱动程序不是以这种方式实现的。

Microsoft SQL Server ODBC驱动程序是DB-Library的功能替代品。 SQL Server ODBC驱动程序以与DB-Library DLL完全相同的方式使用底层Net-Libraries。 Microsoft SQL Server ODBC驱动程序不依赖于DB-Library DLL,如果客户端上甚至不存在DB-Library,则驱动程序将正常运行。

微软的测试表明,基于ODBC和基于DB库的SQL Server应用程序的性能大致相同。

另一答案
  • 这是一个经验问题,那么为什么不为你感兴趣的组合测量呢?
  • 公共代码没有隐藏,那你为什么不算一下CRAN的其他数据库接口呢?仅对于DBI,我们有SQLite,MySQL,Postgresql,Oracle;对于自定义数据库后端,有像Vhayu这样的东西。
  • 存在专业论坛,为什么不问r-sig-db?
  • 最后,只要有API并且需要人们倾向于将两者结合起来。我已经为两个高度专业化和快速后端编写了两个不同的(工作中未发布的)软件包。

以上是关于本机与ODBC数据库连接的主要内容,如果未能解决你的问题,请参考以下文章

如何在 matlab 中检查本机 ODBC 连接的状态?

Netezza 与 C++ 的连接

请问如何配置ODBC连接远程的SQL Server数据库?

与 Informix 数据库的 ODBC 连接

ODBC 连接使用 php 与 ingres 连接

如何使用odbc连接数据库?