使用Python 3.4連接到Oracle 11(64位),但無論如何我都無法獲得連接。我試過cx_Oracle軟件包和pyodbc軟件包都沒有成功。連接到Oracle的Python問題(cx_Oracle和Pyodbc)
試圖與cx_Oracle
conn = cx_Oracle.connect('username/[email protected]')
和
oradsn = cx_Oracle.makedsn(host, port, server)
conn = cx_Oracle.connect(user="username, password=password, dsn=oradsn")
錯誤:無法獲取Oracle環境處理
試圖與pyodbc
conn = pypyodbc.connect('DRIVER={ORACLE ODBC DRIVER};DBQ=dsn name;UID=username;PWD=password')
和
conn = pyodbc.connect('DSN=dsn;SERVER=server;UID=username;PWD=password')
錯誤:指定的驅動程序無法加載由於系統錯誤1114:一個動態鏈接庫(DDL)初始化例程失敗。 (< ---- sqora32.dll在那個位置,我已經檢查)
環境變量:
ORACLE_HOME = C:\Oracle\Ora11_x64
有什麼建議?
謝謝
謝謝回答!幾個問題: 1. PATH變量應該是什麼樣子? 2.我無法通過SQL Plus連接(TNS適配器錯誤(?))。但是,我可以通過Oracle SQL Developer進行連接。不知道這是什麼意思。 –
PATH環境變量應包含SQL * Plus可執行文件和客戶端庫的位置。 SQL Developer使用Java,而SQL * Plus(和cx_Oracle)使用OCI,因此它們使用不同的方法進行連接。 TNS適配器錯誤只是意味着你的連接字符串錯誤。如果您提供了連接方式的詳細信息,可能會幫助我進一步提供幫助。 :-) –
好吧,我改變了我的連接字符串,並能夠連接到SQLPlus!好消息。但我仍然得到'無法獲取Oracle環境句柄錯誤。我的PATH變量在字符串中有'C:\ Oracle \ Ora11_x64 \ BIN'。我應該提到,tnsnames.ora文件不包含我的連接,並且我沒有訪問權限來更改該文件。我仍然可以使用Cx_oracle進行連接嗎? –