【发布时间】:2019-10-27 00:02:40
【问题描述】:
我使用来自 oracle 数据库的数据开发了一个闪亮的应用程序,我的应用程序在我的 Windows 环境中开发和运行顺利。为了在我的大学中部署我的应用程序,我将其编写为一个包并将这些包安装在 ubuntu 服务器上。 Ubuntu 18.04.2 LTS(GNU/Linux 4.15.0-50-generic x86_64) Shiny 服务器已安装并找到包,应用程序正在运行。
但是当我尝试创建到 oracle 的连接时,我的应用程序断开连接并要求我重新加载会话。
所以我只提取了构建连接的代码并包含了几条消息,它在使用 RJDBC 包中的 dbconnet 时挂起。
我检查了几个环境变量,例如 PATH、JAVA_HOME、LD_LIBRARY_PATH。我几乎没有使用 linux 的经验。
我的 R 版本 R 版本 3.6.0 (2019-04-26) -- 《种树》 版权所有 (C) 2019 统计计算 R 基金会 平台:x86_64-pc-linux-gnu(64位)
Java 版本 openjdk 版本“11.0.3” 2019-04-16 OpenJDK 运行环境(build 11.0.3+7-Ubuntu-1ubuntu218.04.1) OpenJDK 64-Bit Server VM(build 11.0.3+7-Ubuntu-1ubuntu218.04.1,混合模式,共享)
Oracle 数据库 Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64 位生产
我正在使用驱动程序 ojdbc7.jar,因为它似乎是最新版本。
library(rJava)
library(DBI)
library(RJDBC)
options(java.parameters="-Xmx2g")
.jinit()
print(.jcall("java/lang/System", "S", "getProperty", "java.version"))
initialize_db_con <- function(driverClass = 'oracle.jdbc.driver.OracleDriver',
classPath = "pathtomyfile/ojdbc7.jar",
dbn = 'jdbc:oracle:thin:@xx.xx.xx.xx:xxxx/mydb',
usr = NULL, pwd = NULL) {
driverClass <- 'oracle.jdbc.driver.OracleDriver'
message("Setting user and password manually")
creds <- list(user = usr, pw = pwd)
drv <- RJDBC::JDBC(driverClass = driverClass, classPath = classPath, identifier.quote = '´')
message("driver is set")
con <- RJDBC::dbConnect(drv = drv, dbn, creds$user, creds$pw)
message("connection has been build")
return(con)
}
usr <- "myuser"
pwd <- "mypassword"
con <- initialize_db_con(usr=usr, pwd = pwd)
所以在等待大约 30 秒后会出现此错误消息。
Error in .jcall("java/sql/DriverManager", "Ljava/sql/Connection;", "getConnection", :
ignoring SIGPIPE signal
为什么无法建立连接,有什么建议吗?
【问题讨论】:
-
这个列表越来越多,不知道是什么意思...?!
-
哦,按
CTRL + C -
好的,所以我得到了这 6 个数据包传输,6 个数据包接收,0% 数据包丢失,时间 5102ms rtt min/avg/max/mdev = 0.020/0.021/0.023/0.005 ms
-
我进行了一些搜索,但只能找到有关您 2012 年错误的帖子:r.789695.n4.nabble.com/… 当我查看存档(2012 年第四季度)时,答案似乎是“尝试 ROracle”。抱歉,我无法提供更多帮助
-
谢谢菲尔,我也找到了这个页面。但我很确定必须有 rJava、RJDBC 的解决方案。我还找到了这个页面github.com/Microsoft/mssql-jdbc/issues/784,这可能与我的问题有关吗?如果是这样,我该如何解决?
标签: r ubuntu jdbc dbconnection rjdbc