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   )
View Code

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,特別需要注意版本的對應


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM