使用 Nifi 连接到 Oracle ATP

问题描述

我正在尝试连接到 Oracle Cloud 上的 Oracle 数据库,这需要使用 SSL 钱包 + TNS 名称。 我已经在 docker 中设置了 Nifi,但是我无法连接到数据库。我已经使用 SSL 钱包测试了与数据库的连接,我可以从主机连接,但不能从 Nifi 连接。

我关注了 https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/connect-jdbc-thin-wallet.html

而 Nifi 中数据库连接池的设置如下所示:

Nifi DBCP settings

但是我收到无法解析 TNS 名称的错误。 Error Message

有人可以建议如何从 Nifi 连接到 Oracle ATP(或任何使用 SSL 钱包的 Oracle 数据库?)

解决方法

您正在使用 DBALIAS forme jdbc:oracle:thin:@dblias

所以你需要一个 tnsname.ora 文件到(TNS_ADMIN 目录)

tnsname.ora 文件格式为: DBALIAS =(连接字符串)

http://www.dba-oracle.com/t_sample_tnsnames.ora.htm

您可以直接使用带有描述的表单:

"jdbc:oracle:thin:@(description=(address_list=(address=(protocol=tcp)(port=1521)(host=prodHost)))(connect_data=(INSTANCE_NAME=ORCL)))";

,

您的网址看起来不错。请务必使用 Oracle 的最新 JDBC 驱动程序。 这是下载页面: https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html

此外,您还必须拥有以下配套 jar 和 ojdbc8.jar。这些 jar 是:oraclepki.jar、osdt_core.jar、osdt_cert.jar。

另请注意,当连接到 ADB-S 时,您可能希望在驱动程序中明确禁用 FAN,否则在创建第一个新连接时您会看到 10 毫秒的延迟。您可以通过在 ojdbc.properties(这是 wallet.zip 的一部分)中将“oracle.jdbc.fanEnabled”设置为“false”来实现。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...