一:弄清版本,最重要!!!
首先安裝配置時,必須把握一個點,就是版本一致!包括:系統版本,python版本,oracle客戶端的版本,cx_Oracle的版本,然后安裝配置就容易了!
二:安裝
1.cx_Oracle安裝
下載后直接雙擊安裝,就ok了。 不建議直接使用pip install cx_Oracle命令安裝,因為版本問題容易報錯。
2.oracle 客戶端
把下載的文件解壓,復制oci,oraocci11,oraociei11的3個DLL粘貼到你的PY目錄的Lib\site-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()