来自环境变量的钱包位置,而不是 oci 客户端的 sqlnet.ora

Posted

技术标签:

【中文标题】来自环境变量的钱包位置,而不是 oci 客户端的 sqlnet.ora【英文标题】:wallet location from environment variable instead of sqlnet.ora for oci client 【发布时间】:2015-02-06 02:12:33 【问题描述】:

我有一个 oracle 11g 数据库服务器,我从 OCI 客户端连接到它。这工作正常,但现在的要求是我们需要连接到启用 SSL 的数据库。

为此,我必须创建一个 sqlnet.ora 并将其放置在 TNS_ADMIN 环境中指定的目录中。多变的。在 sqlnet.ora 中,我必须指定钱包位置。还创建了证书并将其放入钱包中。

以上对我来说很好用。但是由于某些限制,我们不能在客户端创建这个 sqlnet.ora。有没有办法我们可以通过一些环境变量传递这个钱包位置,这样就不需要 sqlnet.ora?

如果我们创建一个jdbc连接,我们可以通过jdbc连接属性指定钱​​包位置。基于 OCI 的连接是否有任何这样的等价物。我不介意我们如何将钱包位置提供给 OCI 客户端,只要我不必创建 sqlnet.ora。

非常感谢任何指针

【问题讨论】:

因为我只是处于类似情况:您找到解决方案了吗?就我而言,如果我可以在sqlnet.ora 中使用环境变量来指定钱包位置,那就没问题了。 我遇到了同样的挑战:使用系统 tns_admin 设置但通过指定的钱包而不是用户/密码登录。好像修改sqlnet.ora其实是官方的解决方案,记录在这里:docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/… 【参考方案1】:

我认为您需要 sqlnet.ora 文件。作为一种选择,有一个像 @Izzy 正在寻找的解决方案。您可以在完整钱包位置的“目录”定义部分中使用环境变量:

WALLET_LOCATION = ..... (DIRECTORY=/home/$USER/oracle_wallet) ....

不幸的是,这不是您要查找的内容,这是在 sqlnet.ora 文件中定义的。

【讨论】:

以上是关于来自环境变量的钱包位置,而不是 oci 客户端的 sqlnet.ora的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 TFS SOAP/ASMX 而不是来自客户端的 TF 命令

微信钱包入口开发笔记

使用plsql 连接oracle数据库

如何获取 Google Talk 聊天客户端的电子邮件(默认 IM)而不是公共 IM

来自客户端的Getchar()在套接字编程中

不是来自 Google API Oauth 的客户端的有效来源