How to fix cx_Oracle.DatabaseError: ORA-12514: TNS:listener error

How to fix cx_Oracle.DatabaseError: ORA-12514: TNS:listener error

我使用 python 3.6(32 位)并且我使用 Oracle 数据库 11g,我想将我的 python 连接到 oracle 数据库。这是我的 python cx-Oracle==7.2.1

的 oracle 版本

这是我的 file.ORA :

myservice = (DESCRIPTION=
(ADDRESS=
    (PROTOCOL=tcp)
    (HOST=localhost)
    (PORT= ))
(CONNECT_DATA=
    (SERVICE_NAME=orcl)))

这是我的代码:

import cx_Oracle
con= cx_Oracle.connect("db_employees/root@localhost/orcl")
cur= conn.cursor()
cur.execute('select*from employess')
for line in cur:
    print(line)
cur.close()
con.close()

但是显示错误。这是我的错误信息:

C:\Python36>python "D:\bisa.py"
Traceback (most recent call last):
File "D:\bisa.py", line 3, in <module>
     con= cx_Oracle.connect("db_employees/root@localhost/orcl")
cx_Oracle.DatabaseError: ORA-12514: TNS:listener does

如何解决这个错误?

在 .ORA 文件中试试这个

myservice =
   (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = <<validhostname>>)(PORT = <<validportnumber>>))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <<servicenameofDB>>)
    )
)