使用RODBC连接到Ms SQL而不使用dsn

时间:2015-12-14 16:31:59

标签: sql-server r odbc

我尝试使用RODBC软件包建立从ubuntu到mssql server的连接。

我确实让它与RJDBC一起工作,但读取速度可能比ODBC慢得多,所以我想测试它。

我没有可用的dsn,ip port databasename usr pwd是我可以使用的所有信息。

与RJDBC一起使用的代码是:

drv <- JDBC("com.microsoft.sqlserver.jdbc.SQLServerDriver",
  "/media/sqljdbc4.jar")

RJDBC::dbConnect(drv, 'jdbc:sqlserver://ip:port;databaseName=databasename', 'usr', 'pwd') 

尝试了很多浏览不同的语法,但无法使其工作。

RODBC::odbcDriverConnect('driver={SQL Server};server=ip:port;database=databasename;uid=usr;pwd=pwd)

给我错误:[unixODBC] [驱动程序管理器]找不到数据源名称,并且没有指定默认驱动程序

我是否需要将驱动程序下载到ubuntu机器?认为它们包含在包中。

1 个答案:

答案 0 :(得分:0)

RODBC套餐不包含驱动程序。鉴于有多少可能性,这将是笨拙的。 见https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf

  

&#34;与特定DBMS的连接需要ODBC驱动程序:这些可能   随附DBMS或ODBC驱动程序管理器或提供   由DBMS开发人员单独组成,并且有第三方   开发商&#34;

Microsoft为Ubuntu提供驱动程序: https://www.microsoft.com/en-us/download/details.aspx?id=50419

您可以在大多数Linux发行版中将dsn条目添加到/etc/odbc.ini文件中。请参阅ubuntu https://help.ubuntu.com/community/ODBC