Snowflake through R/RJDBC - Unable to retrieve JDBC result set(通过R/RJDBC的雪花-无法检索JDBC结果集)
问题描述
我安装了使用Windows命令提示符检查的最新Java
java --version
C:Userssweepydodo>java --version
java 17.0.1 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
我已经运行了以下
library(RJDBC)
drv <- JDBC(driverClass = "net.snowflake.client.jdbc.SnowflakeDriver"
, classPath = "C:/Users/sweepydodo/Documents/R/snowflake-jdbc-3.13.9.jar"
, identifier.quote = "`"
)
con <- dbConnect(drv, "jdbc:snowflake://gs46004.eu-west-1.snowflakecomputing.com:443?warehouse=prd_wh&ROLE=prod_readonly&authenticator=externalbrowser&database=dwh_db", "sweepydodo@abc.com", "dummy password")
R控制台随后读取
Nov 17, 2021 3:37:01 PM net.snowflake.client.core.CredentialManager fillCachedCredential
INFO: JNA jar files are needed for Secure Local Storage service. Please follow the Snowflake JDBC instruction for Secure Local Storage feature. Fall back to normal process.
Initiating login request with your identity provider. A browser window should have opened for you to complete the login. If you can't see it, check existing browser windows, or your OS settings. Press CTRL+C to abort and try again...
然后它将打开一个浏览器窗口,该窗口具有白色背景和一行内容:
您的身份已确认并传播到Snowflake JDBC驱动程序。 您现在可以关闭此窗口,然后返回到开始的位置。
然后我返回R并运行
dbListTables(con) # list all tables
一切都很好,我看到了一个表格列表。我的问题出现在我运行实际查询时:
dbGetQuery(con,
"
select *
from FACT_VISIT
limit 10
"
)
错误读取
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set", :
Unable to retrieve JDBC result set
JDBC ERROR: SQL compilation error:
Object 'FACT_VISIT' does not exist or not authorized.
Statement:
select *
from FACT_VISIT
limit 10
我发现很奇怪,我可以使用dbListTables(con)
查看表列表,但无法查询任何表。我期待任何想法/解决方案。
推荐答案
经过一天的搜索和同事的帮助,我们发现罪魁祸首是JAVA的最新版本jdk-17_windows-x64_bin
和雪花的最新版本之一3.13.9的组合。
除了使用here和here中的snowflake-jdbc-3.10.3.jar
中的Java 11.0.12之外,一切都与原始帖子中描述的一样。
Java和Snowflake的.jar
的最新版本一起将为您提供概述的问题here。
最后,正如@sergiu指出的那样。在SQL查询中,我还应该显式指定数据库和方案名称。
dbGetQuery(con,
"
select *
from dwh_db.visitor.fact_visit
limit 10
"
)
这篇关于通过R/RJDBC的雪花-无法检索JDBC结果集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:通过R/RJDBC的雪花-无法检索JDBC结果集
基础教程推荐
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 在螺旋中写一个字符串 2022-01-01