创建DBI驱动程序以从R

时间:2016-04-05 20:41:29

标签: r jdbc

我使用以下代码成功连接到R的Teradata:

library(DBI)
library(rJava)
library(RJDBC)
library(teradataR)

drv = JDBC("com.teradata.jdbc.TeraDriver","/Users/me/R_repos/TeraJDBC_indep_indep.14.10.00.26/terajdbc4.jar:/Users/me/R_repos/TeraJDBC_indep_indep.14.10.00.26/tdgssconfig.jar")

然而它突然停止了工作。我现在运行上面的JDBC函数时收到此错误消息:

Error in .jfindClass(as.character(driverClass)[1]) : class not found

我没有以任何方式更改目录路径或jar文件。

当我运行.jclassPath(时,我看到我的RJDBC jar和JAVA jar正确加载:

[1] "/Library/Frameworks/R.framework/Versions/3.2/Resources/library/rJava/java"           "/Library/Frameworks/R.framework/Versions/3.2/Resources/library/RJDBC/java/RJDBC.jar"

除了我已经多次重新启动我的R会话并且最近也安装了Caret包之外,没有其他任何改变。我无法理解为什么会失败。

我在R version 3.2.2

上运行Mac iOS 10.10.5

2 个答案:

答案 0 :(得分:1)

您的JVM版本是否可能已更改?此错误的最常见原因之一是JVM不匹配。无论如何,运行

.jclassLoader()$setDebug(1L)

看看它失败的真正原因。

然后运行

("java.lang.System")$getProperty("java.version")

检查您的JVM版本。

答案 1 :(得分:0)

从此处下载Teradata JDBC驱动程序:

https://downloads.teradata.com/download/connectivity/jdbc-driver

jars = ['/ CorrectPath / tdgssconfig.jar','/ CorrectPAth / terajdbc4.jar']

解压缩并提供jar文件的新路径。应该可以。