2017-02-17 26 views
1

我有一個需求連接oracle數據庫與Python並將它們作爲數據框。想知道什麼是易於使用的軟件包以及如何安裝它們?如何連接oracle數據庫和我的python腳本?

我使用的是Anaconda 3(Python 3.5.2),我用cx_oracle嘗試過,但由於依賴關係而無法安裝。聽說SQLAlchemy不太確定如何使用它。

+0

SQLAlchemy不帶自己的驅動程序。你仍然需要像'cx_Oracle'這樣的東西。你可以擴展這個聲明:「我用cx_oracle嘗試過,但因爲依賴關係而無法安裝」?解決這些問題可能是最好的處理方式。 – Chris

+0

發生的確切錯誤是「ImportError:DLL加載失敗:%1不是有效的Win32應用程序」。我已經安裝了預編譯版本Cx_oracle。 – prady

+0

在這一點上,我會刪除這個問題,並問一個新的錯誤。這樣你會更多地看到它。 – Chris

回答

0

最後它在按照以下步驟後工作,

1.Download和http://www.oracle.com/technetwork/topics/winsoft-085727.html解壓版12。 2.將「ORACLE_HOME」添加爲Windows環境變量,並將其值設置爲... \ instantclient_12_1(不包含其包含的文件夾!)。 3.將相同的路徑添加到「路徑」環境變量。 4.只有現在安裝cx_Oracle。 5.重新啓動系統

非常感謝大家!

0

我有SQLAlchemy + MySQL的經驗。

SQLAlchemy文檔,

engine = create_engine('oracle://username:[email protected]:port/database') 是連接字符串。

其中:

username =用戶名

password =密碼

host =主機名/ IP例如(127.0.0.1)

port =端口號

database =數據庫名稱

engine = create_engine('oracle://username:[email protected]:port/database') 
sql = 'Your SQL query in string.' 
df = pd.read_sql(sql,con=engine) 

這應該將sql響應讀入數據框。

+0

嘗試拋出錯誤「No module named'cx_Oracle'」。正如我之前所說,由於依賴關係,我無法安裝cx_oracle。 PIP安裝或conda安裝不工作。 – prady

+0

@prady,我的壞。 SQLAlchemy默認使用cx_Oracle。 –