使用RODBC-R连接到Oracle DB(在远程服务器上)

时间:2016-02-01 07:04:09

标签: r oracle rodbc roracle

我对R来说很新,可能是我再次提出这个问题,但是我发布了这个问题,因为我没有找到合适的答案。

我尝试使用RODBC连接到位于R的远程位置的Oracle DB。我经历了很多RODBC配置文档,但没有明确指定与远程Oracle DB的连接以及根本原因。

我还考虑使用 ROracle 作为DBI,但发现 RODBC 的表现要好得多,有多种原因。

所以,这是我的代码:

> # Load RODBC package
> library(RODBC)

> # Create a connection to the database
> dbconnection <- odbcDriverConnect("Driver={Oracle ODBC Driver}; Server=my_hostname; Database=my_db_name; Uid=my_uid; Pwd=my_pwd")

> # Check that connection is working
> odbcGetInfo(dbconnection)

> close(dbconnection)

我使用的TNS配置[由于显而易见的原因改变了值]

my_db_name =
 (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = my_hostname)(PORT = my_port))
  (CONNECT_DATA =
   (SERVER = DEDICATED)
   (SERVICE_NAME = my_service_name)
  )
 )

注意:另一件事是我没有本地Oracle数据库设置。我使用SQL Developer通过给定的TNS配置连接到远程Oracle DB。

我收到以下错误:

Warning messages:
1: In odbcDriverConnect("Driver={Oracle ODBC Driver}; Server=my_hostname; Database=my_db_name; Uid=my_uid; Pwd=my_pwd") :
  [RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib 'Oracle ODBC Driver' : file not found
2: In odbcDriverConnect("Driver={Oracle ODBC Driver}; Server=my_hostname; Database=my_db_name; Uid=my_uid; Pwd=my_pwd") :
  ODBC connection failed

安装R后,我只使用install.packages("RODBC")命令安装了RODBC。另外,我在Mac OS上运行它。

我知道我在这里遗漏了一些东西。具体而言,Driver={Oracle ODBC Driver}可能需要修改为实际的驱动程序名称。但我不知道它应该是什么,谷歌搜索没有多大帮助。

我还需要安装或配置其他任何内容吗?

0 个答案:

没有答案