You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过Key Pair Authentication实现Flyway与Snowflake的连接求助

Flyway连接Snowflake密钥认证报错解决方案

核心问题定位

从调试日志能看到,最终生效的flyway.url是jdbc://app.eu-west-1.privatelink.snowflakecomputing.com/,缺失了snowflake://协议标识,导致Flyway无法识别对应的数据库驱动,从而抛出No database found to handle错误。

解决方案步骤

  1. 修正配置文件中的URL格式
    检查所有加载的配置文件(C:\flyway\flyway-10.15.2\conf\flyway.conf和C:\Users\kxxs361\flyway.conf),确保flyway.url严格遵循Snowflake JDBC URL规范:

    flyway.url=jdbc:snowflake://xb44352.eu-west-1.snowflakecomputing.com/?db=ENT_MDM_RAW&warehouse=EDP_ENT_MDM_ANALYTICS_WH
    

    排查是否有其他配置文件覆盖了正确的URL,导致协议部分丢失。

  2. 修复私钥文件路径
    Windows系统下路径需处理转义问题,将私钥路径修改为以下两种格式之一:

    flyway.jdbcProperties.private_key_file=\\Users\\kxxs361\\rsa_key.p8
    

    或使用正斜杠路径:

    flyway.jdbcProperties.private_key_file=/Users/kxxs361/rsa_key.p8
    
  3. 验证密钥对配置有效性

    • 确认私钥文件rsa_key.p8为未加密的PKCS#8格式(若加密,需额外添加flyway.jdbcProperties.private_key_passphrase=<你的密码>)
    • 验证公钥已关联到Snowflake用户KXXS361@ASTRAZENECA.NET,执行Snowflake命令检查:
      DESCRIBE USER KXXS361@ASTRAZENECA.NET;
      
      查看RSA_PUBLIC_KEY字段是否与你的公钥内容匹配。
  4. 确认Flyway驱动完整性
    Flyway 10.15.2自带Snowflake JDBC驱动,无需额外安装。若自定义过驱动路径,需确保驱动jar包存在且版本兼容。

内容的提问来源于stack exchange,提问作者Sathish Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:40:17