Python連線oracle

王明輝發表於2017-12-15

 

import cx_Oracle

conn = cx_Oracle.connect('使用者名稱/密碼@IP/ServiceName') #1個引數

conn = cx_Oracle.connect('使用者名稱', '密碼', 'IP/ServiceName') #3個引數

開啟 D:\app\username\product\11.2.0\client_1\NETWORK\ADMIN路徑下的tnsnames.ora

此處的IP為下列連線描述的HOST,ServiceName為SERVICE_NAME 

(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 111.111.111.111)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = orcl)
  )
)

 

剛剛開始連線時,我機器上的oracle是32位客戶端連64位伺服器端,客戶端位於 D:\app\username\product\11.2.0\client_1

嘗試連線時,會報錯如下:

cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "d:\app\sabre\product\11.2.0\client_1\bin\oci.dll is not the correct architecture". See https://oracle.github.io/odpi/doc/installation.html#windows for help

按照提示中的連結,找到oracle的64位客戶端檔案package,下載,放到D:\instantclient_11_2,然後把這個路徑新增到系統path中,再次嘗試連線,就可以了。

 

相關文章