我正在尝试连接到雪花数据库并激活特定的仓库。我在两个 JDBC 连接中都使用了仓库
jdbc:snowflake://xy12345.eu-central-1.snowflakecomputing.com/?warehouse=mywh
以及在属性中
options.put("仓库", "mywh")
还有什么需要补充的吗。
即使我给了一个不正确的仓库,连接也是不正确的。我是否遗漏了任何东西,或者无论如何通过 spark 执行“使用仓库 mywh”。
谢谢
我正在尝试连接到雪花数据库并激活特定的仓库。我在两个 JDBC 连接中都使用了仓库
jdbc:snowflake://xy12345.eu-central-1.snowflakecomputing.com/?warehouse=mywh
以及在属性中
options.put("仓库", "mywh")
还有什么需要补充的吗。
即使我给了一个不正确的仓库,连接也是不正确的。我是否遗漏了任何东西,或者无论如何通过 spark 执行“使用仓库 mywh”。
谢谢
您可以使用光标执行命令 - USE WAREHOUSE 来更改仓库使用情况。
在 JDBC 上使用仓库参数,或者在属性中给出它就足以使用该仓库。困惑在于 JDBC 驱动程序如何连接到 Snowflake。
当您使用 JDBC 连接到 Snowflake 时,JDBC 驱动程序不会立即运行“USE WAREHOUSE”。这就是为什么您在连接时不会出现任何错误,即使您输入了错误的仓库。
当您尝试执行 SQL 查询时,如果它需要一个活动仓库,则将使用您选择的仓库。如果您输入了错误的仓库,则会收到如下错误:
Exception in thread "main" net.snowflake.client.jdbc.SnowflakeSQLException: No active warehouse selected in the current session. Select an active warehouse with the 'use warehouse' command.