1.安装cx_oracle模块
2.连接oracle数据库
import cx_Oracle #引用模块cx_Oracle
conn=cx_Oracle.connect(‘用户名/密码@主机ip地址:端口号/Service Name(SID)') #连接数据库
c=conn.cursor() #获取cursor
x=c.execute('select sysdate from dual') #使用cursor进行各种操作
x.fetchone()
c.close() #关闭cursor
conn.close() #关闭连接
3.报错
4.原因
本机装的Python、cx_Oracle都是64位的,但未安装64位的Oracle Instant Client,,所以连接报错。
5.解决方案
下载64位 instantclient (点击下载)并解压后要将Oracle Instant Client的路径配到环境变量Path中,要配到子目录instantclient_XX_X(X是版本号)这一级。
这样操作之后,应该就没有原来的错误了。但是这样从Oracle中select出来的中文可能会是问号。为此还要配置环境变量NLS_LANG,其值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
或者添加如下代码:
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK'