【问题标题】:ocx_Oracle ORA-12541 tns no listenerocx_Oracle ORA-12541 tns 没有监听器
【发布时间】:2013-04-02 19:10:30
【问题描述】:

我尝试通过 cx_Oracle 连接到远程 oracle 服务器:

db = cx_Oracle.connect('用户名', '密码', dsn_tns)

但它说 databaseError: ORA-12541 tns no listener

【问题讨论】:

    标签: python cx-oracle


    【解决方案1】:

    我能够通过 db 客户端(例如 datagrip)进行连接,但是当我从 python 脚本连接时出现 No Listener 错误,因为我的原始连接字符串没有指定端口。我在关注cx_Oracle doc

    post 帮助我通过这种方式指定端口:

    ip = '192.168.0.1'
    port = 1521
    SID = 'YOURSIDHERE'
    dsn_tns = cx_Oracle.makedsn(ip, port, SID)
    
    db = cx_Oracle.connect('username', 'password', dsn_tns)
    

    【讨论】:

    【解决方案2】:

    如果将 listener.ora 文件(在 Oracle 服务器本身上)配置为侦听“localhost”而不是机器名,则可能会发生此错误。

    听众= (DESCRIPTION_LIST = (描述= (地址 =(协议 = IPC)(密钥 = EXTPROC1521)) (地址 =(协议 = TCP)(主机 = WN700014)(端口 = 1521)) ) )

    this post

    【讨论】:

      【解决方案3】:

      在我的情况下,这是由于我的服务器端口错误:

      ./install_database_new.sh localhost:1511 XE full

      我将端口更改为“1521”,我可以连接。

      【讨论】:

        猜你喜欢
        • 2017-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-30
        • 2012-11-01
        • 2012-10-13
        • 1970-01-01
        • 2022-11-22
        相关资源
        最近更新 更多