我需要将R连接到oracle,到目前为止我还没有成功。我下载了两个软件包:RODBC& RODM。
这是我一直在使用的陈述:
DB <- odbcDriverConnect("DBIORES1",uid="mhala",pwd="XXXXXXX")
但是我收到了这个错误:
Error in odbcDriverConnect("DBIORES1", uid = "mhalagan", pwd = "XXXXXXX") :
unused argument(s) (uid = "mhalagan", pwd = "XXXXXXX")
我需要哪些信息才能连接到oracle数据库?我使用正确的包装吗?
答案 0 :(得分:3)
请参阅odbcDriverConnect()
的帮助页面。 odbcDriverConnect()
不接受uid
或pwd
个参数。您可能打算使用odbcConnect()
代替:
odbcConnect(dsn = "DBIORES1", uid = "mhala", pwd = "XXXXXXX")
除了RODBC
包之外,还有RODM
包,我认为它是专门为Oracle数据库设计的,在此进一步描述:http://www.oracle.com/technetwork/articles/datawarehouse/saternos-r-161569.html。我不使用Oracle数据库,因此不能评论这两个软件包的优点。
答案 1 :(得分:1)
您是否安装了oracle ODBC客户端/驱动程序?如果要使用ODBC R包,则需要使用它。转到oracle instant client download获取适用于您的操作系统的客户端。安装它们,然后继续配置ODBC并测试R之外的连接,然后安装R和RODBC并在R中进行测试。
答案 2 :(得分:1)
过去我成功地使用RJDBC从R连接到Oracle数据库。我发现它更容易上手,因为我抓住了我在当时使用的基于java的GUI中成功使用的连接字符串,就像魔术一样“只是工作”(tm)。
答案 3 :(得分:1)
RJDBC对我来说很好。您只需要拥有Oracle-thin驱动程序jar文件并配置连接,如:
> install.packages("RJDBC")
> library(RJDBC)
> drv <- JDBC("oracle.jdbc.driver.OracleDriver","/path/to/driver/com/oracle/oracle-thin/11.2.0.1.0/oracle-thin-11.2.0.1.0.jar”)
> conn <- dbConnect(drv, "jdbc:oracle:thin:@database:port:schema”, “user”, “passwd”)
然后准备执行一些查询。
JA。