如何在没有钱包的情况下从 OCI Datascience notebook 访问 OCI ADW(Python)

How to access OCI ADW without wallet from OCI Datascience notebook(Python)

我已经在 OCI 中创建了自治数据仓库,并尝试按照此文档从 OCI 数据科学笔记本访问它 Connect Python without a Wallet

我还安装了 Oracle Instant Client 19.6 并添加了上述文档中提到的符号链接,但脚本正在寻找钱包文件并抛出错误: ORA-28759: failure to open file

代码:

import cx_Oracle as cx
import sys

dsn = """(description= (retry_count=15)(retry_delay=3)(address=(protocol=tcps)
<my-connection-string> C=US")))"""

try:
    con = cx.connect(user="<my-user>", password="<my-password>", dsn=dsn, encoding="UTF-8")
    print("Database version:", con.version)
except Exception as err:
    print(err)
    sys.exit(1)

是的,我检查了其他相关问题,但没有成功!提前致谢。

您需要 Instant Client 19.14(或更高版本)或 21.5(或更高版本)。此版本中添加了单向 TLS 支持。

如果您有一个以前使用 mTLS 的 sqlnet.ora 文件,那么您应该将其删除:很可能您有一个,并且正在查找该文件中的钱包位置并给您错误。

然后关注文档或新博客Easy wallet-less connections to Oracle Autonomous Databases in Python

(是的,从技术上讲,该功能可用于 Linux 上的 recut 19.13 Instant Client,如文档中所述,但现在已被取代,该功能可用于 19.14 和 21.5 以后的更多架构)