使用JDBC连接R和Teradata

mar*_*bel 4 r teradata rodbc rjdbc

我正在尝试使用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")
Run Code Online (Sandbox Code Playgroud)

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

我知道有一个teradataR包在那里,但我不知道它是否真的使用R 3.0.0工作.

目前我只是将数据从数据库中拉出来很有意思.简单的事情SELECT * FROM table.问题是RODBC很慢......

还有其他选择来完成这项任务吗?

RUs*_*ser 8

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

drv = JDBC("com.teradata.jdbc.TeraDriver","ClasspathForTeradataJDBCDriverFiles") 
Run Code Online (Sandbox Code Playgroud)

例:

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

注意:UNIX计算机上的路径将使用单个正斜杠来分隔其组件和文件之间的冒号.

conn = dbConnect(drv,"jdbc:teradata://DatabaseServerName/ParameterName=Value","User","Password") 
Run Code Online (Sandbox Code Playgroud)

例:

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

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

dbGetQuery(conn,"SQLquery")
Run Code Online (Sandbox Code Playgroud)

例:

dbGetQuery(conn,"select ldap from dbc.sessioninfov where sessionno=session")
Run Code Online (Sandbox Code Playgroud)