0

我收到此错误:

net.snowflake.client.core.CredentialManager initSecureStorageManager

信息:安全本地存储服务需要 JNA jar 文件。请按照安全本地存储功能的雪花 JDBC 说明进行操作。回退到正常流程。

net.snowflake.client.core.CredentialManager fillCachedCredential

信息:安全本地存储服务需要 JNA jar 文件。请按照安全本地存储功能的雪花 JDBC 说明进行操作。回退到正常流程。

如何在我的项目中添加这些文件?

这是我的连接属性文件:

hostname=jdbc:snowflake://ya189.ap-south-1.aws.snowflakecomputing.com/
user=
password=
account=ya189.ap-south-1
database=DEMO_DB
role=
warehouse=COMPUTE_WH
schema=PUBLIC
IS_ENCRYPTED=true
authenticator=externalbrowser  

我在我的 pom.xml 中包含了 JNA:

<dependency>
    <groupId>net.snowflake</groupId>
    <artifactId>snowflake-jdbc</artifactId>
    <version>3.13.15</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>5.9.0</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>5.9.0</version>
</dependency>
4

1 回答 1

0

基于浏览器的 SSO 的连接缓存和多因素身份验证 (MFA) 的令牌缓存需要使用 Java Native Access (JNA) 类将数据安全地保存到文件系统。

从 JDBC 驱动程序 3.12.18 版开始,JNA 类不再打包在 JDBC 驱动程序 JAR 文件中。在 JDBC Driver pom.xml 文件中,对这些类的依赖被标记为可选。

如果您需要使用连接缓存或令牌缓存,则必须将以下库添加到您的类路径中。

JDBC 驱动程序的 pom.xml 文件指定已使用 JDBC 驱动程序测试的 JNA 类的版本。我们建议使用 JNA 类的这个版本(或相同的主要版本)。

欲了解更多信息,请阅读此处

于 2022-03-02T14:34:53.103 回答