无法从 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 服务器的主要内容,如果未能解决你的问题,请参考以下文章