python3利用cx_Oracle访问Oracle数据库
Windows Server 2008 R2系统:
1、安装Oracle客户端instantclient
注意安装的版本,本人安装的是instantclient_11_1版本的,安装instantclient_12_2版本的时候会因系统解析不了dll报错。
(1)下载完成后解压到一个目录下,如:E:\instantclient_11_1
(2)增加环境变量:
TNS_ADMIN,值为E:\instantclient_11_1
NLS_LANG,值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK,这是为了防止中文乱码
创建一个监听文件tnsnames.ora到E:\instantclient_11_1,也可以从其他地方复制一个过来,里面的内容可以参考下面的:
1 vcs_dev= 2 (DESCRIPTION = 3 (ADDRESS_LIST = 4 (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.6.1)(PORT = 1521)) 5 ) 6 (CONNECT_DATA = 7 (SERVER = DEDICATED) 8 (SERVICE_NAME = vcs) 9 ) 10 )
2、安装对应版本的cx_Oracle
下载地址:https://pypi.python.org/pypi/cx_Oracle/5.2.1
(1)这里Oracle客户端为11.1版本的,python为3.4版本,操作系统为64位,所以需要下载cx_Oracle-5.2.1-11g.win-amd64-py3.4.exe (md5)版本的cx_Oracle
(2)下载完成后,直接双击安装
(3)安装完成后,将客户端(即:E:\instantclient_11_1目录)下的所有dll文件拷贝到python的包目录下,即C:\Python34\Lib\site-packages文件夹下
3、使用测试
import cx_Oracle
print(cx_Oracle.clientversion())
conn = cx_Oracle.connect("用户名/密码@服务器地址/服务器名")
cursor = conn.cursor()
cursor.execute("select address from temp_m_customer_addr_info where ID = '103791721'")
row = cursor.fetchone()
print(row)
cursor.close()
conn.close()
Windows7系统:
Windows7可以使用instantclient_12_2版本的客户端,其它的配置和安装方法同Windows Server,特别需要注意版本的对应。
posted on 2017-10-30 13:53 sammy1989 阅读(8938) 评论(0) 编辑 收藏 举报