A versão mais alta sob win7
Clique para baixar a versão correspondente python, cx_Oracle, link do cliente Oracle instantclient
python-3.8.10-embed-amd64.zip
cx_Oracle-8.1.0-cp38-cp38-win_amd64.whl
instantclient-basic-windows.x64-11.2.0.4. 0 .zip
Se você não pode baixá-lo, use o seguinte link para baixar
https://download.csdn.net/download/Little_Matches/85574806
Primeiro clique duas vezes para instalar python3.8.10
e, em seguida, instale-o em cmd
pip install cx_Oracle-8.1.0-cp38-cp38-win_amd64.whl
Se DPI-1047: a biblioteca do Oracle Client de 64 bits não puder ser carregada for relatada
, a próxima operação é extrair instantclient-basic-windows.x64-11.2.0.4.0.zip e encontrar três arquivos no diretório, a saber
oci.dll, oraocci11.dll, oraociei11.dll
Em seguida, copie esses arquivos para o diretório de instalação do python /python/Lib/site-packages , reinicie a ferramenta e tudo ficará bem
Código de teste oficial:
# myscript.py
import cx_Oracle
# Connect as user "hr" with password "welcome" to the "orclpdb1" service running on this computer.
# 改为自己对应的数据库账号,密码,地址,端口,数据库名称
# dsn=("地址:端口/数据库名称")
#例: dsn=("localhost:1521/orclpdb1")
connection = cx_Oracle.connect(user="hr", password="welcome",
dsn="localhost/orclpdb1")
# cursor 游标,用于执行sql语句
cursor = connection.cursor()
cursor.execute("""
SELECT first_name, last_name
FROM employees
WHERE department_id = :did AND employee_id > :eid""",
did = 50,
eid = 190)
for fname, lname in cursor:
print("Values:", fname, lname)
#一次返回所有結果集fetchall
# rs =cursor.fetchall()
# print ("print all :(%s)" %rs)
#使用完记得关闭游标和链接
cursor.close()
connection.close()