1

我想学习如何使用 Python 处理 Oracle 数据库。如果我理解正确,您可以使用 Oracle Instant Client 远程连接到 Oracle 数据库,但我无法连接。我怀疑问题是我不知道 localhost/instance 组合使用什么参数。我相信 localhost 只是我的机器名称,或者它可能是我尝试过的字面上的“localhost”,但我不知道如何也找不到帮助告诉我如何找到数据库实例的服务名称。

在提示符中,我打开 python,导入 cx_Oracle 并使用此示例代码中指定的“Easy Connect String” ,使用“(我的机器名称)/orclpdb”或字面意思是“localhost/orclpdb” DEFAULT_CONNECT_STRING

示例代码创建了一个变量MAIN_CONNECT_STRING,我在命令提示符中使用它来尝试连接到远程数据库:

cnxn = cx_Oracle.connect(MAIN_CONNECT_STRING)
cx_Oracle.DatabaseError: ORA-12541: TNS:no listener

我找到的答案似乎基于this,或者其他人提到的tnsnames.ora,或者listener.ora是我没有的文件。我也尝试使用instantclient-sqlplus-nt-12.2.0.1.0.

背景:

  • Windows 7的
  • 我下载cx_Oracle-6.1-cp27-cp27m-win32.whlinstantclient-basic-nt-12.2.0.1.0.zip
  • 我把它.whl放入“C:\Python27\Scripts\”
  • 我用python-m pip install cx_Oracle --upgrade安装cx_Oracle
  • 我解压了即时客户端 zip 并将子文件夹放在这里“C:\instantclient_12_2”
  • 我添加;C:\instantclient_12_2PATH.
4

1 回答 1

0

也许您可以使用 cx_Oracle 文档中找到的安装说明 for Windows,cx_Oracle for Windows

首先卸载您正在使用的 cx_Oracle,然后尝试按照上面链接中的说明进行操作。

于 2018-02-07T06:16:54.703 回答