使用 Nifi 连接到 Oracle ATP

Connect to Oracle ATP with Nifi

我正在尝试连接到 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:@(描述=(address_list=(地址=(协议=tcp)(端口=1521)(主机=prodHost))) (connect_data= (INSTANCE_NAME=ORCL)))";

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

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

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