【问题标题】:Error with dbConnect to Snowflake via Rscript (but not R Studio)dbConnect 通过 Rscript 到 Snowflake 时出错(但不是 R Studio)
【发布时间】:2021-09-29 00:08:17
【问题描述】:

我已使用 ODBC 驱动程序从 R Studio 成功连接/查询 Snowflake。当我尝试 Rgui.exe 中的代码时,它也可以工作。但是,在 Rterm(或从批处理脚本调用 rScript)中,它不会。 Rterm 返回如下错误:

OOB curl_easy_perform() failed: SSL peer certificate or SSH remote key was not OK

我的 R 代码是:

library(ROracle)
library(methods)

username <- keyring::key_list("blake-snowflake")[1,2]
password <- keyring::key_get("blake-snowflake", keyring::key_list("my-snowflake")[1,2])

### connect to EDW
con_snowflake <- dbConnect(
  odbc::odbc(), 
  "EDW_sample", 
  uid=username, 
  pwd=password)

【问题讨论】:

  • 您确认keyring::key_getRterm 中有效吗? (我不确定,只是检查松散的结果......)
  • 是的,它在 Rterm 中工作

标签: r networking snowflake-cloud-data-platform


【解决方案1】:

我从使用 ODBC 切换到 JDBC。

library(RJDBC)

jdbcDriver <- JDBC(driverClass="com.snowflake.client.jdbc.SnowflakeDriver", classPath = "..\\java\\snowflake-jdbc-3.7.2.jar") 

con_snowflake <- dbConnect(jdbcDriver, "jdbc:snowflake://xxx.snowflakecomputing.com/", keyring::key_list("my-snowflake")[1,2], keyring::key_get("my-snowflake", keyring::key_list("my-snowflake")[1,2]), db="db_name", schema="schema_name")

### read in data
query = readr::read_file("...\\query.sql")
df <- ROracle::dbGetQuery(con_snowflake, query)

【讨论】:

    猜你喜欢
    • 2015-03-10
    • 2017-03-31
    • 2018-04-06
    • 2019-02-02
    • 2014-05-15
    • 2016-11-21
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    相关资源
    最近更新 更多