由于未选择活动仓库,对 Snowflake 数据库的查询不起作用

tre*_*ick 12 python r snowflake-cloud-data-platform

我能够通过 R 成功连接到 Snowflake 数据库,但在获取数据时遇到问题,因为没有选择活动仓库。以下是错误消息:

当前会话中未选择活动仓库。使用“使用仓库”命令选择活动仓库。

这是我正在使用的代码。

  con <- DBI::dbConnect(
    odbc::odbc(), 
    UID    = user, 
    PWD    = pass, 
    Server = host,
    Warehouse = 'YOUR_WAREHOUSE_NAME',
    Driver = "SnowflakeDSIIDriver",
    Role = role,
    Database = database,
    Autthenticator = "external browser"
  )

dbGetQuery(con, "SELECT * FROM MY_TABLE LIMIT 100")
Run Code Online (Sandbox Code Playgroud)

我已将我的连接和查询基于RStudio 社区上的该线程,但我没有任何运气。我还尝试在查询中使用“使用仓库 MY_WAREHOUSE”命令,但没有任何运气。

注意:我可以成功连接并通过 Python 查询数据,所以我认为这是 R 特定的问题。

Win*_*ing 12

我也遇到了这个问题。这可能不是最好的答案,因为我只是测试一些开发代码(在 python 中),但我不得不发出:

GRANT USAGE ON WAREHOUSE my_warehouse TO ROLE writer_role;
Run Code Online (Sandbox Code Playgroud)

我用来连接 Snowflake 的用户是其中的成员,然后我就能够写入该表。


小智 0

  1. 恕我直言,如果 python 等效代码没问题的话,这似乎是一个 R bug
  2. 您的角色可以分配一个默认仓库,也许它是空白的,需要在连接时指定;R 代码中的错误阻止了它的设置?