Python连接Oracle

本地安装cx_Oracle

python -m pip install cx_Oracle --upgrade

在python shell界面cx_Oracle,若无报错则安装成功

本地安装Oracle客户端

下载Oracle对应版本的客户端,高版本客户端可以连接低版本数据库,但是低版本客户端不能连接高版本数据库,且位数版本要与python相对应,如python为64位则安装64位客户端

如instantclient-basic-windows.x64-11.2.0.4.0.zip

64位地址http://www.oracle.com/technetwork/topics/winx64soft-089540.html

32位地址http://www.oracle.com/technetwork/topics/winsoft-085727.html

下载完成后解压,将目录添加到环境变量Path中

如D:\Python\Python36-64\Python-Oracle\instantclient_11_2

如果本地安装了Oracle数据库,则应该把路径上移到ORACLE_HOME之前

在instantclient_11_2目录中创建network目录,在network目录创建admin目录。

Python连接Oracle

#connection = cx_Oracle.connect("upgcjx", "upgcjx", "10.10.10.13/testdb11g")

先尝试能否执行,若不行,通过tns连接

在network\admin创建文件tnsnames.ora

内容为

修改三个地方,第一行改为你连接的sid,第四行修改HOST = 你连接的IP地址,

SERVICE_NAME = 你想连接的sid

orcl =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.13 )(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl )

)

)

连接代码修改为

dsn_tns = cx_Oracle.makedsn(ip , port, sid)
connection = cx_Oracle.connect(username, password, dsn_tns)

官网代码为

# myscript.py

from __future__ import print_function

import cx_Oracle

# Connect as user "hr" with password "welcome" to the "oraclepdb" service running on this computer.connection = cx_Oracle.connect("hr", "welcome", "localhost/orclpdb")

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值