【问题标题】:Unable to connect to Oracle database via RJDBC无法通过 RJDBC 连接到 Oracle 数据库
【发布时间】:2015-01-08 10:32:03
【问题描述】:

当我尝试连接到 Oracle11G DB 时出现错误。我的输出如下。请指教

>Sys.setenv(JAVA_HOME='C:/Program Files/Java/jdk1.6.0_45')
> options(java.parameters="-Xmx2g")
> library(rJava)
> .jinit()
[1] 0
> print(.jcall("java/lang/System", "S", "getProperty", "java.version"))
[1] "1.6.0_45"
> library(RJDBC)
> # Create connection driver and open connection
> jdbcDriver = JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="pathtofile/ojdbc6.jar")
> jdbcDriver
An object of class "JDBCDriver"
Slot "identifier.quote":
[1] NA

Slot "jdrv":
[1] "Java-Object{oracle.jdbc.OracleDriver@9506dc4}"

> jdbcConnection = dbConnect(jdbcDriver,"jdbc:oracle:thin:@//hostname:port/servicename","username","password")
Error in dbConnect(jdbcDriver, "jdbc:oracle:thin:@//hostname:port/servicename",  : 
  unused arguments (jdbcDriver, "jdbc:oracle:thin:@//hostname:port/servicename", "username","password")

【问题讨论】:

  • 我遇到这个问题已经有一段时间了,自从我上次发表评论以来,直到今天我才重新审视这个问题。以下是我遇到的问题以及解决这些问题的解决方案: 1. java 位版本与 R-GUI 位版本不匹配。 Sol:我已经卸载了多个 java 版本,并确保 JDK、R GUI 和 JDBC 驱动程序兼容 2. dbConnect () 被“.GlobalEnv”对象屏蔽。将其置于如下范围 RJDBC::dbConnect()

标签: r rjdbc


【解决方案1】:

我不确定这是否是您正在寻找的答案,但这就是我建立联系的方式:

library(RJDBC)
drv <- JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="pathtothisfile/ojdbc6.jar") 
conn <- dbConnect(drv, "jdbc:oracle:thin:@//Hostname:Port/SID", "username", "password")

【讨论】:

  • 我也这样做。但我收到以下消息: dbConnect 中的错误(jdbcDriver,“jdbcstring”,:未使用的参数(jdbcDriver,“jdbcstring”,“user”,“passwd”)
  • 奇怪,我无法弄清楚这里发生了什么。 jdbcstring 中似乎有错误。您确定使用正确的主机名吗?
  • 是的。很确定。你能把你的输出发给我吗
  • 我遇到这个问题已经很久了,自从我上次发表评论以来,直到今天我才重新审视这个问题。以下是我遇到的问题和解决方案: 1. java 位版本与 R 位版本接口不匹配。解决方案:我已经卸载了多个java安装,并确保JDK/R GUI和JDBC驱动兼容。
猜你喜欢
  • 1970-01-01
  • 2016-12-04
  • 2013-10-21
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
相关资源
最近更新 更多