r - 从 R 连接到 amazon redshift 时出错 - windows 10

标签 r windows-10 amazon-redshift rjdbc

当使用 JDBC 函数将 R 连接到 amazon redshift 时(我使用的是 Windows 10),出现以下错误:

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

我正在运行的代码是

install.packages("rJava")
install.packages("RJDBC")
library(rJava)
library(RJDBC)

download.file('http://s3.amazonaws.com/redshift-downloads/drivers/RedshiftJDBC41-1.1.13.1013.jar','RedshiftJDBC41-1.1.13.1013.jar')
driver <- JDBC("com.amazon.redshift.jdbc41.Driver", "RedshiftJDBC41-1.1.13.1013.jar", identifier.quote = "`")

要获取有关我运行的错误的更多信息:

 .jclassLoader()$setDebug(1L)

完整的错误跟踪是:

RJavaClassLoader: added 'RedshiftJDBC41-1.1.13.1013.jar' to the URL class path loader
RJavaClassLoader: adding Java archive file 'RedshiftJDBC41-1.1.13.1013.jar' to the internal class path
RJavaClassLoader: added 'C:/Users/user/Documents/R/win-library/3.2/RJDBC/java/RJDBC.jar' to the URL class path loader
RJavaClassLoader: adding Java archive file 'C:/Users/user/Documents/R/win-library/3.2/RJDBC/java/RJDBC.jar' to the internal class path
RJavaClassLoader@33909752.findClass(com.amazon.redshift.jdbc41.Driver)
 - URL loader did not find it: java.lang.ClassNotFoundException: com.amazon.redshift.jdbc41.Driver
RJavaClassLoader.findClass("com.amazon.redshift.jdbc41.Driver")
 - trying class path "C:\Users\user\Documents\R\win-library\3.2\rJava\java"
 Directory, can get 'C:\Users\user\Documents\R\win-library\3.2\rJava\java\com\amazon\redshift\jdbc41\Driver.class'? NO
 - trying class path "C:\Users\user\Documents\R\win-library\3.2\RJDBC\java\RJDBC.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "C:\Users\user\Desktop\Pricing"
   Directory, can get 'C:\Users\user\Desktop\Pricing\com\amazon\redshift\jdbc41\Driver.class'? NO
- trying class path "C:\Users\user\Desktop\Pricing\RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "." Directory, can get '.\com\amazon\redshift\jdbc41\Driver.class'? NO
- trying class path "C:\RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "RedshiftJDBC41-1.1.13.1013.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
>> ClassNotFoundException 

如果您有任何可以提供帮助的想法,那就太棒了!谢谢

最佳答案

完全相同的问题影响了我。由于某种原因,download.file() 获取了损坏的 .jar。我们小组的开发人员发现了以下修复:

  1. 省略:

    download.file('http://s3.amazonaws.com/redshift-downloads/drivers/RedshiftJDBC41-1.1.13.1013.jar','RedshiftJDBC41-1.1.13.1013.jar')

  2. 直接从 http://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html 下载 .jar

  3. 将 .jar 复制到您的工作目录。

  4. 运行其余代码。

关于r - 从 R 连接到 amazon redshift 时出错 - windows 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36430627/

相关文章:

javascript - 使用 R 导出期刊文章的引文

security - 在没有管理员权限的情况下在 Windows 10 中设置开发环境

Windows 10 忽略我的设置文件中的 Authenticode

calendar - 在 Windows 10 邮件应用程序上订阅日历?

python - 使用适当的变量类型将 CSV 文件从 redshift 导出到本地

amazon-redshift - 在 redshift 中将 bigint 数据类型转换为时间戳(并随后转换为日期)

amazon-redshift - 有没有办法在 Redshift 中找到表创建日期?

r - 如何使用PCA对高度相关变量进行时间序列预测?

r - 使用 knitr 和 rgl 在 html 中包含 3D 交互式图形,在 word/pdf 中包含静态图形

r - 按特定值过滤行 %in% 一个或多个指定列