2011-09-06 120 views
35

是否有可用於連接MSSQL和Python 2.7的模塊?python中的MSSQL 2.7

我下載了pymssql,但它是用於python 2.6的。 python 2.7有沒有等效的模塊?

我不知道如果任何人可以提供鏈接。


重要提示:同時還有一個pymssql模塊可用。千萬不要錯過這個頁面的最後讀了答案:https://stackoverflow.com/a/25749269/362951

+0

是不是2.7向後兼容2.6?即不是該模塊在2.6中工作? – rplnt

+0

沒有安裝http://code.google.com/p/pymssql/downloads/detail?name=pymssql-1.9.908.win32-py2.6.exe&can=2&q=它檢查python版本並結束設置 – Shashi

+2

有2.7快照http://build.damoxc.net/downloads/pymssql/snapshots/ ...如果有幫助。 – rplnt

回答

52

您還可以使用pyodbc連接從Python來MSSQL。

一種example from the documentation

import pyodbc 
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;UID=me;PWD=pass') 
cursor = cnxn.cursor() 
cursor.execute("select user_id, user_name from users") 
rows = cursor.fetchall() 
for row in rows: 
    print row.user_id, row.user_name 

SQLAlchemy文庫(在另一個答案提到的),使用pyodbc連接到MSSQL數據庫(它會嘗試各種庫,但pyodbc是優選的)。示例代碼中使用的SQLAlchemy:

from sqlalchemy import create_engine 
engine = create_engine("mssql://me:[email protected]/testdb") 
for row in engine.execute("select user_id, user_name from users"): 
    print row.user_id, row.user_name 
+3

https://github.com/mkleehammer/pyodbc – ALH

4

使用PIP如下安裝pyodbcpip install pyodbc

import pyodbc 
cnxn = pyodbc.connect("DRIVER={SQL Server};SERVER=SOME-PC;DATABASE=my_db") 
cursor = cnxn.cursor() 


cursor.execute("insert into test_tb values(6, 'name')") 

cursor.execute("select id, name from my_tb") 
rows = cursor.fetchall() 
for row in rows: 
    print row.id, row.name 

有關詳細信息,請參閱

https://github.com/mkleehammer/pyodbc/wiki

+0

這個pip安裝不再看起來像工作(Ubuntu 16.04,Python 2.7。):'--compile failed and error code 1 in ...' –

+2

@MichaelMügge - 'pip install pyodbc'在Ubuntu 16.04上運行正常,如果你先安裝'sudo apt install unixodbc-dev'。 –

+0

@GordThompson,的確。那裏的重要細節。謝謝。 –

17

如果你碰到這個問題,通過未來網頁搜索,請注意pymssql時下確實支持Python 2.7(和3.3)或更新版本。無需使用ODBC。

pymssql要求:

的Python 2.x的:2.6或更高版本。 Python 3.x:3.3或更新版本。

請參閱http://pymssql.org/