使用 R studio 与 dashDB 的 RODBC 连接

RODBC connection to dashDB using R studio

当尝试从 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 库。

您是否按照以下 link 中的说明进行操作,您将需要安装 ibmdbR 包,因为它在下面 link.

中提到

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

您可以使用 odbcConnect() 并提供 dsn 字符串作为唯一必需的参数。在 DSX 上,IBM DB2 ODBC DRIVER 初始化为名称 BLUDB(因此 dsn_driver <- 'BLUDB')。这是工作示例:

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

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