使用 Snowflake 连接 java 时出现安全本地存储问题

Secure Local Storage issue while connecting java with Snowflake

我收到此错误:

net.snowflake.client.core.CredentialManager initSecureStorageManager

INFO: JNA jar files are needed for Secure Local Storage service. Please follow the Snowflake JDBC instruction for Secure Local Storage feature. Fall back to normal process.

net.snowflake.client.core.CredentialManager fillCachedCredential

INFO: JNA jar files are needed for Secure Local Storage service. Please follow the Snowflake JDBC instruction for Secure Local Storage feature. Fall back to normal process.

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

这是我的连接属性文件:

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>

browser-based SSO 的连接缓存和 multi-factor 身份验证 (MFA) 的令牌缓存需要使用 Java Native Access (JNA) 类 来保存数据安全地到文件系统。

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

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

JDBC Driver 的 pom.xml 文件指定已使用 JDBC 驱动程序测试过的 JNA 类 版本。我们建议使用 JNA 类.

的这个版本(或相同的主要版本)

有关详细信息,请阅读 here