R 和 odbcDriverConnect() 将 R 连接到 teradata

R and odbcDriverConnect() to connect R to teradata

我正在尝试将 R 连接到 Teradata,但不确定 RODBC::odbcDriverConnect() 的输入项是什么。有一个 teradataR 包,但它只用于 R 版本 3 及以下版本,我既没有也不想切换到它。下面是使 ODBCDriverConnect 工作的输入参数列表。 "Connection"我认为是最重要的。我需要获取 driver 的地址,我什至不知道我是否有。这是我最需要帮助的。如何为 Teradata 获取 driver 以连接到 R?我工作中的 IT 部门不确定如何执行此操作。另外,如果有人知道将 Teradata 连接到 R 的另一种方法(其他包?),请告诉我。

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

感谢您的帮助!

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

设置 DSN:

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

    姓名:可以是任何你喜欢的名字。例如,我选择了 TeraDataRConnection。
    名称或 IP 地址(DBC 名称或地址): 例如我的是:Databasename.companyname.com。我查看了 Microsoft 访问是如何连接到数据库的,并在这样做的过程中找到了 DBC 地址。
    用户名: 用于连接数据库的用户名。
    密码:用于连接数据库的密码(如果你不把密码放在这里,你每次连接的时候都得手动输入R。

在 R 中:

下载 RODBC 包

library(RODBC)

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

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

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

就是这样!

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

按照以下步骤成功设置连接。

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

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

data <- reactive({
  ch <- odbcConnect(dsn = "DSNName", uid = "username", pwd = "password")
  sqlQuery(ch,paste('select * from emp ')
           })

DSNName - 创建的 DSN 连接的名称

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