2025 年 JDBC Driver 版本说明

本文包含 JDBC Driver 的版本说明,包括以下内容(如果适用):

  • 行为变更

  • 新功能

  • 面向客户的错误修复

Snowflake 对 JDBC Driver 更新使用语义版本控制。

有关文档,请参阅 JDBC 驱动程序

版本 3.23.2(2025 年 4 月 3 日)

新功能和更新

错误修复

  • 修复了缓存文件夹无法访问时发生的 null 指针异常。

版本 3.23.1(2025 年 3 月 13 日)

新功能和更新

错误修复

  • 修复了 nimbusds 库缺少依赖项版本声明的问题。

  • 修复了创建用于 Windows 环境中缓存的文件时出现的问题。

  • 修复了以下问题:在GET/PUT 命令执行期间,目标暂存区的客户端加密主密钥在本地进行日志记录时,调试级别的日志记录问题。密钥本身会授予对任何敏感数据的访问权限。有关更多信息,请参阅 CVE-2025-27496 (https://github.com/snowflakedb/snowflake-jdbc/security/advisories/GHSA-q298-375f-5q63)。

  • 修复了在与存储通信期间,优先使用 GCS 凭据而非 Snowflake 凭据的问题。将参数 disableGcsDefaultCredentials 的默认值更改为 true

  • 修复了使用 OKTA 的身份验证过程中使用的重试机制.

版本 3.23.0(2025 年 2 月 27 日)

非公开预览版 (PrPr) 功能

添加了对 PAT、OAuth 2.0 授权代码流、OAuth 2.0 客户端凭据流及 OAuth 令牌缓存的支持(非公开预览版)。

  • 对于 PAT:为参数身份验证器添加了 PROGRAMMATIC_ACCESS_TOKEN 参数。

  • 对于 OAuth 2.0 授权代码流:

    • 添加了 oauthClientIdoauthClientSecretoauthAuthorizationUrloauthTokenRequestUrloauthScope 参数。

    • 为参数身份验证器添加了 OAUTH_AUTHORIZATION_CODE 参数。

  • 对于 OAuth 2.0 客户端凭据流:

    • 添加了 oauthClientIdoauthClientSecretoauthTokenRequestUrloauthScope 参数。

    • 为参数身份验证器添加了 OAUTH_CLIENT_CREDENTIALS 参数。

  • 对于 OAuth 令牌缓存:需要将用户名传递给驱动程序配置,并且 clientStoreTemporaryCredential 属性不能设置为 false

免责声明:

  • 这些功能只能通过将 SF_ENABLE_EXPERIMENTAL_AUTHENTICATION 环境变量设置为 true 来访问。

  • 这些功能仅应在非生产数据中使用。

  • 这些 PrPr 功能不在支持服务的覆盖范围内。但在 PrPr 阶段,产品和工程团队可提供服务。

  • 如需了解参与情况和相关文档,请联系您的客户团队。

新功能和更新

  • 改进了获取查询元数据时的异常消息。

  • 添加了 ENABLE_EXACT_SCHEMA_SEARCH_ENABLED 参数,以在某些 DatabaseMetaData 方法中启用确切架构搜索。

  • 当 DataSource 中的用户名或密码缺失时,添加了更明确的错误消息。

  • 升级了以下依赖项:

    • 将 netty 升级到版本 4.1.118.Final

    • 将 json-smart 升级到版本 2.5.2

    • 将 asm 升级到版本 9.7.1

  • 添加了将 CLIENT_REQUEST_MFA_TOKEN 标志从 string 转换为 boolean 的能力。

  • 添加了为服务器端或客户端(而非同时为两者)设置查询超时的功能。

错误修复

  • 修复了在全局请求配置中设置代理的错误行为。

  • 修复了在日志级别设置为 OFF 时的非空日志。

  • 修复了在 PUT 命令中允许三斜杠文件前缀 (file:///) 的问题。

  • uploadFileCallable 引发的异常现在会传播到主线程,而不是静默失败。

版本 3.22.0(2025 年 1 月 29 日)

新功能和更新

  • 添加了以下连接参数:

    • CLEAR_BATCH_ONLY_AFTER_SUCCESSFUL_EXECUTION 参数,仅在成功执行后清除批次。

    • disableOCSPChecks 参数,以替换已弃用的 insecureMode 参数。

    • IMPLICIT_SERVER_SIDE_QUERY_TIMEOUT 参数,用于设置客户端和服务器上同步查询的超时时间。

  • 向服务器上的超时异步查询添加了 SnowflakeStatement.setAsyncQueryTimeout 方法。

  • 添加了 net.snowflake.jdbc.commons_logging_wrapper java 属性,以配置来自 commons-logging 的处理日志。

错误修复

  • 修复 GCS (Google Cloud Storage) 的 PUT/GET 操作中处理没有协议的端点的错误。

  • 修复了在提取包含结构化类型的结果时过于频繁地调用 toString 的性能问题。

  • 修复了 createArrayOf 不区分大小写的问题。

  • 修复了 downloadStream 可以下载具有相同前缀的不同文件的问题。

  • 修复了当身份验证设置为 EXTERNALBROWSER 并在 Windows 环境中使用时,%PATH% 权限提升的可能性。有关更多信息,请参阅 CVE-2025-24789 (https://github.com/snowflakedb/snowflake-jdbc/security/advisories/GHSA-7hpq-3g6w-pvhf)。

  • 修复了在 Linux 环境中创建的文件权限和所有者的验证问题,当身份验证设置为 EXTERNALBROWSER 或 :codenowrap: USERNAME_PASSWORD_MFA 时,这些文件权限和所有者将用于缓存令牌。有关更多信息,请参阅 CVE-2025-24790 (https://github.com/snowflakedb/snowflake-jdbc/security/advisories/GHSA-33g6-495w-v8j2)。

语言: 中文