我使用以下代码成功连接到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
答案 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文件的新路径。应该可以。