【问题标题】:Can the Oracle JDBC thin driver use a sqlnet.ora file for configuration?Oracle JDBC 瘦驱动可以使用 sqlnet.ora 文件进行配置吗?
【发布时间】:2020-09-01 23:11:01
【问题描述】:

Type 4 Oracle JDBC Thin client-side driver可以使用sqlnet.ora文件进行配置吗?

上下文:我们的 DBA 根据我看到的一个问题向 Oracle 支持开了一张票,他们的行动计划是让我尝试将配置添加到 sqlnet.ora 文件。他们似乎错误地假设我正在使用 OCI 驱动程序(我从未开发过使用该驱动程序的应用程序)。我的直觉是 sqlnet.ora 是厚/OCI 驱动程序独有的,但我的搜索并没有找到该问题的明确答案。

【问题讨论】:

  • 你是对的:sqlnet.ora 是 JDBC 厚/OCI 驱动程序专有的。更改 sqlnet.ora 中的参数不会影响 JDBC 瘦连接。
  • 你需要添加什么设置?尽管 tnsnames.ora 条目的语法与 URL 的语法不同,但该设置可能存在等效值。例如,TNS 条目中的 (SERVER=POOLED) 将是 URL 中的 :POOLED
  • 谢谢,但是我们已经向 Oracle 开了一张票,所以我们要澄清我们正在使用瘦驱动程序,然后我会让他们为我解决这个问题。就个人而言,我认为他们走错了路,我们在他们的故障排除过程中处于“是否已插入”步骤。
  • 您可以使用完整的 Oracle Net 连接描述符(存储在 tnsnames 中)作为瘦驱动程序连接字符串中的“数据库说明符”。 docs.oracle.com/en/database/oracle/oracle-database/12.2/jjdbc/…

标签: oracle jdbc ojdbc


【解决方案1】:

你可以用这个:

java -Doracle.net.tns_admin=%ORACLE_HOME%\network\admin

但是……

tnsnames.ora 和 sqlnet.ora 可能包含各种选项。其中一些是由 JDBC 驱动程序实现的。其中一些被默默地忽略了。没有关于此的公开信息。 sqlnet.ora 和 tnsnames.ora 在 Oracle 的文档中有一个专门的部分,并且在任何地方都没有提到这是否也适用于 JDBC 驱动程序。 关于 Metalink 有几个单独的注释,描述 JDBC 行为(错误),但通常这个主题在 Oracle 文档的任何地方都没有涉及。

与您的 DBA 确认他们真正想要更改的内容,并检查 JDBC 驱动程序是否也支持相同的功能。

【讨论】:

    【解决方案2】:

    19c JDBC 驱动程序允许将 TNS_ADMIN 作为连接 URL 的一部分传递。 例如,“jdbc:oracle:thin:@wallet_dbname?TNS_ADMIN=/Users/test/wallet_dbname”

    此外,其他连接属性也可以作为连接 URL 的一部分传递。详情请参阅JDBC dev guide

    【讨论】:

      猜你喜欢
      • 2011-04-24
      • 2016-10-12
      • 2011-05-05
      • 1970-01-01
      • 2010-11-07
      • 2015-03-07
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      相关资源
      最近更新 更多