来自环境变量的钱包位置,而不是 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 命令