Redshift JDBC 连接在 R 中第二次打开时崩溃

Posted

技术标签:

【中文标题】Redshift JDBC 连接在 R 中第二次打开时崩溃【英文标题】:Redshift JDBC connection crashes on second opening in R 【发布时间】:2017-10-02 13:07:21 【问题描述】:

我正在使用 RJDBC 包从 EC2 ubuntu 实例连接到 AWS Redshift。

我可以使用JDBC() 调用成功连接,检索/插入行然后关闭连接。

但是,当我在同一个 R 会话中重新打开第二个连接时,R 会因分段错误而崩溃。这发生在 R Studio 和控制台 R 中。我使用 conda 来管理 R。

我已经尝试使用 Amazon 提供的原生 redshift jar 以及 Progess Software 提供的另一个 jar 进行连接。我对两个驱动程序的效果相同:第一次连接很好,随后的连接崩溃。

我已经安装了最新的 JVM v8。我看到一些其他线程建议安装 v6 作为解决方法,但不幸的是,oracle 站点上不再提供。

我的直觉是 Java 与 R 的交互很奇怪,但我不知道如何继续。

【问题讨论】:

【参考方案1】:

好的,我自己解决了这个问题,并认为我会记录下来以防这对其他人有用。

问题在于 rJava 没有正确重新初始化 JVM。

我在打开数据库连接之前添加了以下行:

 rJava::.jinit(force.init = TRUE)

现在我可以使用 RJDBC 毫无问题地打开和关闭连接

【讨论】:

以上是关于Redshift JDBC 连接在 R 中第二次打开时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

带有复选框 selModel 的 ExtJs Gridpanel 窗口,在第二次打开时不显示复选框

浙大学长分享,第二次打数据挖掘赛,雪浪算力开发者大赛总结

当我尝试将 R 与 AWS Redshift 连接时,我收到了一个找不到类的错误

Excel文件第一次双击打不开,退出后第二次双击就能打开。

R Redshift dbExistTable dbWriteTable

寻找字符串中第一个仅仅出现一次打字符