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

如何用cx_Oracle连接Oracle11g?求connect方法参数说明(附Java示例)

使用cx_Oracle连接Oracle 11g的参数对应方案

嘿,刚好帮你把Java里的连接配置对应到cx_Oracle的用法上,完全可以参照你已有的Java代码来设置参数:

首先看你Java里的核心连接信息:

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","System","mypassword");

对应的cx_Oracle连接参数可以这样对应:

  • user:对应Java里的第二个参数 "System"
  • password:对应Java里的第三个参数 "mypassword"
  • dsn:对应JDBC URL中@后面的部分 localhost:1521:xe(这里是SID模式,cx_Oracle也支持用服务名的写法localhost:1521/xe,两种都可以)

给你一个完整的可运行示例代码:

import cx_Oracle

# 方式1:分参数传入(更清晰)
try:
    conn = cx_Oracle.connect(
        user="System",
        password="mypassword",
        dsn="localhost:1521:xe"  # 或者写成 "localhost:1521/xe" 用服务名模式
    )
    print("连接成功!")
    
    # 简单测试查询
    cursor = conn.cursor()
    cursor.execute("SELECT SYSDATE FROM DUAL")
    print("当前数据库时间:", cursor.fetchone()[0])
    
except cx_Oracle.Error as e:
    print(f"连接出错:{e}")
finally:
    # 确保资源关闭
    if 'cursor' in locals():
        cursor.close()
    if 'conn' in locals() and conn.is_connected():
        conn.close()

另外还有一种更简洁的写法,直接把所有信息拼成一个连接字符串:

conn = cx_Oracle.connect("System/mypassword@localhost:1521:xe")

小提示:如果连接失败,记得检查这几点:

  • 确认Oracle 11g服务正在运行,端口1521对外开放
  • 已经安装了对应版本的cx_Oracle(建议用7.x版本,对Oracle 11g兼容性更好)
  • 本地已经配置好Oracle客户端(比如Instant Client),并设置了正确的环境变量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:18:13