2014-01-08 38 views
3

我正嘗試使用RJDBC連接R和Teradata。使用JDBC連接R和Teradata

我發現這個link有一個使用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軟件包out there,但我不知道它是否可以與R 3.0.0一起使用。

暫時我只是有趣的從數據庫中提取數據。和select * from table一樣簡單。問題是RODBC很慢...

是否有其他選擇來完成這項任務?

回答

7

使用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") 
+0

I'll嘗試。謝謝! – marbel