2017-07-28 71 views
0

我使用Docker在本地主机(主机)上运行虚拟Oracle数据库服务器。使用python访问oracleDB时出错

当我在shell(bash)中使用它时,它工作的很好。

但是我想让它从python界面访问。

cx_Oracle安装(Python接口用于Oracle),

,但它不是我的Python代码访问(jupyter笔记本)。 代码如下

import cx_Oracle 
con = cx_Oracle.connect("system/[email protected]:8080") 

错误代码那么简单:

DatabaseError        Traceback (most recent call last) 
<ipython-input-8-681e47c38e7c> in <module>() 
----> 1 con = cx_Oracle.connect("system/[email protected]:8080") 

DatabaseError: ORA-12537: 
+0

虽然您正在使用的'easy connect'连接字符串语法有多种默认值,但它们并不常见。你可能只需要找到数据库的“服务名称”,并包括:'con = cx_Oracle.connect(“system/oracle @ localhost:8080/whateveryourservicenameis”)' –

回答

0

我不知道,你可以使用cx_Oracle.connect与这样的端口。你可能可以但我会检查数据源名称(dsn)。


首先,尝试连接时没有:8080。如果这不起作用,请在下面尝试。


从命令行进入python交互模式。 python -i

import cx_Oracle

dsn = cx_Oracle.makedsn('localhost', '8080')


如果没有找到的东西,看看伯利森。该网站总是有助于解决ORA问题。

http://www.dba-oracle.com/t_ora_12537_tns_error.htm

和当然,我假设你已经有这个文档:

http://cx-oracle.readthedocs.io/en/latest/module.html?highlight=connect


而且,假设你是以下的指南,你可能想将其链接的URL中评论或您的原始文章。

相关问题