You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Cloud ADB Graph两层架构Python连接失败求助

如何通过两层架构用Python连接Oracle ADB Graph?

你遇到的连接错误核心原因是JDBC URL格式不符合Oracle Autonomous Database(ADB)的两层连接规范,同时原代码中直接引用Wallet压缩包而非解压后的目录,路径转义也存在问题。以下是正确的连接方案:

正确连接方式示例

方式1:依赖TNS配置文件(推荐)

先将下载的Wallet_ADW21.zip解压到C:\etc_ADW21目录,然后使用TNS别名连接:

import opg4py.pgql as pgql

# 替换为你的实际密码
pgql_conn = pgql.get_connection(
    "graphuser",
    "your_password_here",
    "jdbc:oracle:thin:@adw21c_medium?TNS_ADMIN=C:\\etc_ADW21"
)

方式2:使用完整连接描述符(无需TNS文件)

直接在JDBC URL中写入完整的连接串,无需依赖Wallet目录下的TNS文件:

import opg4py.pgql as pgql

pgql_conn = pgql.get_connection(
    "graphuser",
    "your_password_here",
    "jdbc:oracle:thin:@(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.eu-frankfurt-1.oraclecloud.com))(connect_data=(service_name=adw21c_medium))(security=(ssl_server_dn_match=yes)))"
)

关键注意事项

  • 路径处理:Windows系统下路径必须用双反斜杠\\或正斜杠/,避免单个反斜杠被识别为转义字符。
  • Wallet使用:必须解压Wallet压缩包,TNS_ADMIN指向的是解压后的目录,而非压缩包本身。
  • 服务名验证:确认adw21c_medium是ADB控制台中显示的正确服务名(通常包含_low、_medium、_high后缀)。
  • 协议要求:ADB两层连接必须使用TCPS协议,不能用普通TCP,这也是原host:port:sid格式无效的核心原因。

内容的提问来源于stack exchange,提问作者fmatz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 17:52:50