4

我正在尝试使用 RJDBC 连接 R 和 Teradata。

我发现这个链接有一个使用 mysql 的例子,但我不确定如何对 teradata 做同样的事情。

library(RJDBC)
drv <- JDBC("com.mysql.jdbc.Driver",
           "/etc/jdbc/mysql-connector-java-3.1.14-bin.jar",
           identifier.quote="`")
conn <- dbConnect(drv, "jdbc:mysql://localhost/test", "user", "pwd")

我已经下载了这个驱动程序:http: //downloads.teradata.com/download/connectivity/jdbc-driver 但我不确定我应该在哪里引用该目录。

我知道那里有一个 teradataR 包,但我不知道它是否真的适用于 R 3.0.0。

目前我只是对从数据库中提取数据感兴趣。像SELECT * FROM table. 问题是 RODBC 非常慢......

执行此任务还有其他选择吗?

4

1 回答 1

8

使用 R 控制台,输入以下步骤以建立 Teradata 连接:

drv = JDBC("com.teradata.jdbc.TeraDriver","ClasspathForTeradataJDBCDriverFiles") 

例子:

drv = JDBC("com.teradata.jdbc.TeraDriver","c:\\terajdbc\\terajdbc4.jar;c:\\terajdbc\\tdgssconfig.jar")  

注意:UNIX 机器上的路径将使用单个正斜杠来分隔其组件,并在文件之间使用冒号。

conn = dbConnect(drv,"jdbc:teradata://DatabaseServerName/ParameterName=Value","User","Password") 

例子:

conn = dbConnect(drv,"jdbc:teradata://jdbc1410ek1.labs.teradata.com/TMODE=ANSI,LOGMECH=LDAP","guestldap","passLDAP01")

注意:连接参数是可选的。第一个 ParameterName 通过正斜杠字符与 DatabaseServerName 分隔。

dbGetQuery(conn,"SQLquery")

例子:

dbGetQuery(conn,"select ldap from dbc.sessioninfov where sessionno=session")
于 2014-01-09T10:40:17.507 回答