2009-04-20 21 views

回答

26

你已經建議pyodbc,和我會同意你的看法。

它在我的經驗中給了我最少量的問題;我使用pymssqladodbapi,當那些拋出異常/創建的問題時,我換出代碼並用pyodbc替換它,它或者修復了問題,或者提供了更好的錯誤消息,所以我可以更快地調試。

值得一提的是,我主要用它來連接MSSQL服務器數據庫。

17

我使用SQLAlchemy進行所有python數據庫訪問。我強烈推薦SQLAlchemy。

SA在連接到SQL服務器數據庫時使用pyodbc。它使用其他DBAPI庫連接到其他數據庫,例如cx_Oracle。

一個簡單的例子,使用的SQLAlchemy就像你通常會使用一個DBAPI模塊:

import sqlalchemy 

engine = sqlalchemy.create_engine('sqlite:///database.db') 
for r in engine.execute('SELECT * FROM T'): 
    print(r.OneColumn, r.OtherColumn) 

但SQLAlchemy中的真正價值在於其ORMSQL expression language。看看,這是非常值得學習使用的努力。

+0

SQLAlchemy使我很容易在不改變兩行以上的代碼的情況下在odbc和adodbapi之間切換。 – 2009-04-24 14:01:29

+0

+1 - 非常感謝! – 2010-03-27 04:37:48

1

我在工作中使用pyodbc,它從來沒有讓我失望(我們有varius dbs)。它強大且快速。

它被積極維護和python 3版本即將推出。

如果你想祈禱,支持「企業級」的軟件,你可以使用mxODBC

+0

pyodbc不是爲我工作在Windows蟒蛇3.1.2 :( – 2011-02-17 01:31:12

0

你可以給turbodbc旋轉。自1.1.1版以來,它正式支持Windows。你很可能會比pyodbc更快。