我正在尝试在 MacOS Ventura 13.4.1、Intel i7 上测试 Flyway Desktop (v6.5.10.0) 以连接到 Snowflake 实例。我已经创建了该项目,并转到 GUI 中的“添加目标数据库”。 Snowflake 连接的 Redgate 文档:https://documentation.red-gate.com/fd/snowflake-184127607.html
它解释了URL格式是
jdbc:snowflake://account.snowflakecomputing.com/?db=database&warehouse=warehouse&role=role(可选 &schema=schema 指定当前架构)
在 Flyway Desktop 的 JDBC URL 字段中,我使用了这个字符串(当然是经过编辑的):
JDBC:snowflake://xx11111.ap-southeast-2.snowflakecomputing.com/?db=DB_NAME&warehouse=WH_NAME&role=ROLE_NAME&schema=SCHEMA
单击“测试连接”时收到的错误是这样的: “数据库连接失败。找不到处理 JDBC 的数据库:snowflake://xx11111.ap-southeast-2.snowflakecomputing.com/?db=DB_NAME&warehouse=WH_NAME&role=ROLE_NAME&schema=SCHEMA”
我已将网络上的数据库名称复制粘贴到此字符串,因此我知道它是正确的,还有仓库名称、角色和架构。
我尝试更改字符串每个段的大小写。我尝试删除开始的 JDBC:snowflake:// 部分,或者只是删除 JDBC: 部分。我尝试过仅连接到 SNOWFLAKE 数据库,我尝试过 PUBLIC 角色。总是同样的错误。我在用户名或密码字段中输入的内容也并不重要,因此似乎甚至没有尝试进行身份验证
我已经使用 VS Code 连接到这个 Snowflake 实例,但它使用的是 SnowSQL,但看起来这不是网络问题。
我的网址格式错误吗?我需要拥有更多权限的其他用户吗?有人使用 Flyway Desktop 连接到 Snowflake 实例吗?
经过 Redgate 支持的帮助和谷歌搜索后,我发现我需要做两件事:
一旦我有了“jdbc:snowflake://xx11111.ap-southeast-2.snowflakecomputing.com/?db=DB_NAME&warehouse=WH_NAME&role=ROLE_NAME&schema=SCHEMA&jdbc_query_result_format=json”的形式,它就开始工作了。