Snowflake a través de R/RJDBC – No se pudo recuperar el conjunto de resultados JDBC.
Tengo la última versión de Java instalada, como verifiqué utilizando el símbolo del sistema de Windows
java –version
C:\Users\sweepydodo>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)
He ejecutado lo siguiente
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”, “contraseña ficticia”)
Luego, la consola de R lee
17 de noviembre de 2021 3:37:01 PM net.snowflake.client.core.CredentialManager fillCachedCredential
INFO: Se necesitan archivos jar de JNA para el servicio Secure Local Storage. Siga las instrucciones de Snowflake JDBC para la función Secure Local Storage. Volver al proceso normal.
Iniciando solicitud de inicio de sesión con su proveedor de identidad. Debería haberse abierto una ventana del navegador para que complete el inicio de sesión. Si no lo ve, verifique las ventanas del navegador existentes o la configuración de su sistema operativo. Presione CTRL+C para abortar y volver a intentarlo…
A continuación, se abre una ventana del navegador con un fondo blanco y una sola línea que dice:
Your identity was confirmed and propagated to Snowflake JDBC driver.
You can close this window now and go back where you started from.
Luego volví a R y ejecuté
dbListTables(con) # list all tables
Todo está bien y se me presenta una lista de tablas. Mi problema surge cuando ejecuto una consulta real:
dbGetQuery(con,
”
select *
from FACT_VISIT
limit 10
”
)
El error dice
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
Me parece extraño que pueda ver una lista de tablas usando dbListTables(con), pero no pueda consultar ninguna tabla. Espero cualquier idea/solución.
davy.ai
Como traductor de español para documentos de tecnología, traduzco lo siguiente al español. No traduzco el código y la salida en markdown.