使用 R studio 连接到 dashDB 的 RODBC

Posted

技术标签:

【中文标题】使用 R studio 连接到 dashDB 的 RODBC【英文标题】:RODBC connection to dashDB using R studio 【发布时间】:2016-07-14 19:55:21 【问题描述】:

当尝试从 DSX 上的 rstudio ide 建立与 dashDB 的连接时,我收到此错误:

[RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified

这是填写后的

dsn_driver <- "IBM DB2 ODBC Driver"
dsn_database <- "BLUDB" # e.g. "BLUDB"
dsn_hostname <- "<Enter Hostname>" # e.g.: "awh-yp-small03.services.dal.bluemix.net"
dsn_port <- "50000" # e.g. "50000"
dsn_protocol <- "TCPIP" # i.e. "TCPIP"
dsn_uid <- "<Enter UserID>" # e.g. "dash104434"
dsn_pwd <- "<Enter Password>" # e.g. "7dBZ39xN6$o0JiX!m"

conn_path <- paste("DRIVER=",dsn_driver,
";DATABASE=",dsn_database,
";HOSTNAME=",dsn_hostname,
";PORT=",dsn_port,
";PROTOCOL=",dsn_protocol,
";UID=",dsn_uid,
";PWD=",dsn_pwd,sep="")
conn <- odbcDriverConnect(conn_path)
conn

所以这段代码对我不起作用。 我在这里有什么遗漏吗?我导入了 RODBC 库。

【问题讨论】:

您的机器上安装了驱动程序吗?使用odbcDataSources()检查所有已安装的驱动程序/DSN。 @Parfait 我确实下载了一个。在我下载并运行驱动程序后我应该采取额外的步骤还是应该自动注册驱动程序? 【参考方案1】:

您可以使用odbcConnect() 并提供dsn 字符串作为唯一必需的参数。在 DSX 上,IBM DB2 ODBC DRIVER 使用名称 BLUDB 进行初始化(因此 dsn_driver

dsn_driver <- "BLUDB"
dsn_database <- "BLUDB" # e.g. "BLUDB"
dsn_hostname <- "<Enter Hostname>" # e.g.: "awh-yp-small03.services.dal.bluemix.net"
dsn_port <- "50000" # e.g. "50000"
dsn_protocol <- "TCPIP" # i.e. "TCPIP"
dsn_uid <- "<Enter UserID>" # e.g. "dash104434"
dsn_pwd <- "<Enter Password>" # e.g. "7dBZ39xN6$o0JiX!m"

conn_path <- paste(dsn_driver,
                   ";DATABASE=",dsn_database,
                   ";HOSTNAME=",dsn_hostname,
                   ";PORT=",dsn_port,
                   ";PROTOCOL=",dsn_protocol,
                   ";UID=",dsn_uid,
                   ";PWD=",dsn_pwd,sep="")
conn <- odbcConnect(conn_path)
conn

【讨论】:

【参考方案2】:

除了使用 odbcConnect,您还可以加载包 ibmdbR 并使用它的 idaConnect 方法和它的 dashDB 下推 data.frame API。

【讨论】:

【参考方案3】:

您是否按照以下链接中的说明进行操作,您将需要安装 ibmdbR 软件包,如以下链接中所述。

https://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.doc/connecting/connect_connecting_rstudio.html

【讨论】:

嘿,我也用 ibmdbR 包做到了,它给了我同样的错误。 警告消息:1:在 odbcDriverConnect(con.text) 中:[RODBC] 错误:状态 IM002,代码 0,消息 [unixODBC][驱动程序管理器]找不到数据源名称,并且没有默认驱动程序指定 2:在 odbcDriverConnect(con.text) 中:ODBC 连接失败

以上是关于使用 R studio 连接到 dashDB 的 RODBC的主要内容,如果未能解决你的问题,请参考以下文章

dashDB 控制台中 R-studio 的密码是啥?

如何使用node.js http请求连接到dash db

使用 ODBC 连接将 R Studio 连接到 IBM Netezza 数据库 [关闭]

远程 db2 服务器连接到 R studio

使用 Bluemix 备份 DashDB 的可能性都有哪些?

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