python连接oracle

一:弄清版本,最重要!!!

首先安装配置时,必须把握一个点,就是版本一致!包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本,然后安装配置就容易了!

二:安装

1.cx_Oracle安装

下载地址:https://pypi.python.org/pypi/cx_Oracle/5.3

下载后直接双击安装,就ok了。 不建议直接使用pip install cx_Oracle命令安装,因为版本问题容易报错。

 2.oracle 客户端

1.下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

把下载的文件解压,复制ocioraocci11oraociei113DLL粘贴到你的PY目录的Libsite-packages文件夹下面。

2.配置tnsnames.tns文件

E:oracle解压地址instantclient下建立文件tnsnames.ora

将下面内容粘贴进该文件:

OPQM_UAT=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = opqmsit.dbsit.sfdc.com.cn)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = opqmsit)

    )

  )

3.设置环境变量(系统变量)

NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(注意中间有空格,这个如果不设,toad查询中文会是乱码)

TNS_ADMIN= E:oracle解压地址instantclient

Path=...;E:oracle解压地址instantclient

三:例子

'''
错误一:python cx_Oracle.DatabaseError: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor错误
错误连接方式:
db=oracle.connect('opqm/sfpwd12345#@opqmsit.dbsit.sfdc.com.cn:1521/orcl')#数据库连接
该种连接方式会报上面的错误改为下面的连接方式
正确连接方式:
conn = cx_Oracle.connect('opqm', 'sfpwd12345#',cx_Oracle.makedsn('opqmsit.dbsit.sfdc.com.cn',1521,'opqmsit'));
'''
import cx_Oracle
conn = cx_Oracle.connect('opqm', 'sfpwd12345#',cx_Oracle.makedsn('opqmsit.dbsit.sfdc.com.cn',1521,'opqmsit'));
curs=conn.cursor()
sql='select seq_sfcrm_job.nextval nexval from dual' #sql语句
rr=curs.execute (sql)
row=curs.fetchone()
print(row[0])
curs.close()
conn.close()

 

你可能感兴趣的