无法从 R Studio JDBC 驱动程序连接到 DB2 服务器

Posted

技术标签:

【中文标题】无法从 R Studio JDBC 驱动程序连接到 DB2 服务器【英文标题】:Cannot connect to DB2 Server From R Studio JDBC Driver 【发布时间】:2018-03-01 00:33:02 【问题描述】:

我已经尝试连接到我的 DB2 服务器两天了,并且尝试了这里的每一篇文章,但都没有成功。

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

#Enter the values for you database connection
dsn_driver = "com.ibm.db2.jcc.DB2Driver"
dsn_database = "D0042T04"                   
dsn_hostname = "DB2"
dsn_port = "50000"
dsn_protocol = "TCPIP"
dsn_uid = "db2User"          
dsn_pwd = "secret!"          

jcc = JDBC("com.ibm.db2.jcc.DB2Driver", "c:/development/R/db2jcc.jar");
path = "jdbc:db2://" +  dsn_hostname + ":" + dsn_port + "/" + dsn_database + sep=""

jdbc_path = paste("jdbc:db2://",  dsn_hostname, ":", dsn_port, "/", dsn_database, sep="");

conn = dbConnect(jcc, jdbc_path, user=dsn_uid, password=dsn_pwd)

query = "SELECT * FROM core.account FETCH FIRST 10 ROWS ONLY";
rs = dbSendQuery(conn, query);
df = fetch(rs, -1);

df

dbDisconnect(conn)

当我运行脚本时,我得到以下内容

> query = "SELECT * FROM core.account FETCH FIRST 10 ROWS ONLY;";
> rs = dbSendQuery(conn, query);
Error in dbSendQuery(conn, query) : could not find function "dbSendQuery"

【问题讨论】:

如果你在 rstudio 中调试(单步)你的代码,你会得到任何错误吗?您是否尝试过使用 db2jcc4.jar(不是 db2jcc.jar)?验证该 db2jcc4.jar 的路径是否有效,该文件是否存在并且是最新版本,并且是否已正确安装了 Db2 驱动程序。此外,path = "jdbc:db2://" + dsn_hostname + ":" + dsn_port + "/" + dsn_database + sep="" 行看起来像是可疑的,尽管未使用。如果您需要进一步的帮助,还请详细说明您的基本 R 版本和您的 R-studio 版本。 您的 dsn_hostname 的值也看起来很可疑。如果 Db2 服务器在本地机器上运行,则使用 localhost 或真实主机名。 我认为这一直是路径。我终于能够使用这种更简单的方法连接它。 r-bloggers.com/connecting-to-a-db2-database-from-r 【参考方案1】:

这似乎工作得很好。

https://www.r-bloggers.com/connecting-to-a-db2-database-from-r/

【讨论】:

以上是关于无法从 R Studio JDBC 驱动程序连接到 DB2 服务器的主要内容,如果未能解决你的问题,请参考以下文章

我无法使用带有 Android Studio 的 JDBC 连接到 SQL Server Express

无法从 Visual Studio C# 连接到数据库

无法通过 jdbc 连接到 hive

如何从 Jython 连接到数据库

android中的jdbc问题 - 无法连接到数据库

无法连接到 SQL 数据库(Java、Android Studio)