R和odbcDriverConnect()将R连接到teradata

时间:2016-03-14 17:10:50

标签: r odbc teradata rodbc

我正在尝试将R连接到Teradata,并且不确定RODBC::odbcDriverConnect()的输入项目是什么。有一个teradataR包,但它只用于R版本3及以下,我既没有也不想切换到。下面是使ODBCDriverConnect工作的输入参数列表。我认为“连接”是最重要的。我需要获得一个我甚至不知道的驱动程序的地址。这是我最需要帮助的。如何获得Teradata连接到R的驱动程序?我工作的IT人员不确定如何做到这一点。另外,如果有人知道将Teradata连接到R的其他方式(其他一些包?),请告诉我。

connection = ""
case
 believeNRows = TRUE
 colQuote, tabQuote = colQuote
interpretDot = TRUE
 DBMSencoding = "",
rows_at_time = 100
 readOnlyOptimize = FALSE

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

我能够使用RODBC包将R连接到Teradata。如果您正在使用PC并拥有Teradata驱动程序,请按照以下步骤操作。

设置DSN:

  1. 转到:控制面板 - >管理工具 - >数据源(ODBC) - >用户DSN标签 - >点击添加 - >选择Teradata驱动程序(或任何你将使用的驱动程序。即可能是sql)并按下完成。
  2. 将弹出一个需要填写的框。需要填写以下字段:

    名称:可以是您想要的任何名称。例如,我选择了TeraDataRConnection。
    名称或IP地址(DBC名称或地址):我的例如是:Databasename.companyname.com。我查看了Microsoft访问如何连接到数据库,并在此过程中找到了DBC地址。
    用户名:用于连接数据库的用户名 密码:用于连接数据库的密码(如果您不在此处输入密码,则每次连接时都必须手动输入密码。

  3. 在R:

    下载RODBC包

    library(RODBC)
    
    ch=odbcConnect("TeraDataRConnection",  uid="USERNAME HERE",pwd="PASSWORD HERE")   
    

    如果您想要确认已连接,可以输入此代码以查看表格:

    ListOfTables=sqlTables(ch,tableType="TABLE")
    

    那就是它!

答案 1 :(得分:0)

我能够连接到Teradata并创建了一个Shiny应用程序,可以从中读取数据。 首先,我们需要在R中安装RODBC软件包。先决条件是R(≥4.0.0)版本。即使在企业笔记本电脑中,也不需要管理员访问权限即可升级R。

请按照以下步骤成功建立连接。

  1. 创建ODBC数据源以连接到Teradata。连接应为64位或32位,具体取决于R软件。

  2. 使用下面的代码片段将数据放入反应变量

    数据<-反应性({ ch <-odbcConnect(dsn =“ DSNName”,uid =“用户名”,pwd =“密码”) sqlQuery(ch,paste('select * from emp') })

DSNName-已创建DSN连接的名称

您可以使用data()来显示和使用存储在其中的值。 享受吧!