【问题标题】:Connect to teradata using DBI Package in R使用 R 中的 DBI 包连接到 teradata
【发布时间】:2019-10-25 22:32:20
【问题描述】:

谁能帮助我了解如何使用 DBI ODBC 包连接到 Teradata?

我使用下面的代码,

  con <- dbConnect( drv = dbDriver('Teradata'),
                   server=prodServer,
                   DBCName=prodDatabaseName,
                   uid=username,
                   pwd=password,
                   MechanismName = TD2)

但它会引发以下错误:

Error: Couldn't find driver Teradata. Looked in:
* global namespace
* in package called Teradata
* in package called RTeradata

【问题讨论】:

  • 您是否安装了 Teradata ODBC 驱动程序?如果有,是哪个版本?驱动程序名称“Teradata”适用于 15.10 及更早版本;更高版本的驱动程序名称类似于“Teradata Database ODBC Driver xx.yy”。还有一个用于 Teradata 的 R DBI 模块。
  • @Fred,我尝试使用驱动程序名称作为“Teradata Database ODBC Driver 16.10”,因为我的版本是 16.10。但是我收到如下另一个错误:错误:nanodbc/nanodbc.cpp:950: 08001: [WSock32 DLL] 10065 WSA E HostUnreach: The Teradata server can't bereached through this network
  • 那么您提供的名称没有解析到正确的地址,或者 Windows 无法确定如何连接到该地址。您可以尝试一些方法来帮助隔离问题:nslookup prodDatabaseNameCOP1nslookup prodDatabaseName 和/或为DBCName 指定一个IP 地址

标签: r teradata dbi


【解决方案1】:

看起来像 Teradata ODBC 驱动程序,DBCName 是一个网络名称(对于其他驱动程序,它通常作为服务器提供)

  con <- dbConnect(odbc::odbc(), 
               Driver = DRIVER,
               DBCName = SERVER,
               Database = defaultDatabase,
               UID = Sys.getenv("tera_user"), 
               PWD = Sys.getenv("tera_pass"))

经过大量研究,我终于在@Fred 对另一个问题的回答中找到了这一点:

R-Studio - connection to Teradata is not working

【讨论】:

    猜你喜欢
    • 2019-06-17
    • 2023-03-24
    • 2016-12-17
    • 1970-01-01
    • 2019-06-23
    • 2021-03-09
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    相关资源
    最近更新 更多