0

我正在尝试连接到雪花数据库并激活特定的仓库。我在两个 JDBC 连接中都使用了仓库

jdbc:snowflake://xy12345.eu-central-1.snowflakecomputing.com/?warehouse=mywh

以及在属性中

options.put("仓库", "mywh")

还有什么需要补充的吗。

即使我给了一个不正确的仓库,连接也是不正确的。我是否遗漏了任何东西,或者无论如何通过 spark 执行“使用仓库 mywh”。

谢谢

4

2 回答 2

0

您可以使用光标执行命令 - USE WAREHOUSE 来更改仓库使用情况。

于 2020-07-26T14:20:50.883 回答
0

在 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.
于 2020-07-26T14:26:28.287 回答