2011-09-06 12 views
35

Czy jest dostępny moduł do połączenia MSSQL i Pythona 2.7?MSSQL w python 2.7

Pobrałem pymssql, ale jest to dla Pythona 2.6. Czy istnieje jakiś równoważny moduł dla Pythona 2.7?

Nie jestem tego świadomy, jeśli ktoś może podać linki.


Ważna uwaga: w międzyczasie dostępny jest moduł pymssql. Nie przegap, aby przeczytać odpowiedź na końcu tej strony: https://stackoverflow.com/a/25749269/362951

+0

Czy nie jest 2.7 zgodny z 2.6? tj. czy ten moduł nie działa w wersji 2.6? – rplnt

+0

Nie podczas instalowania http://code.google.com/p/pymssql/downloads/detail?name=pymssql-1.9.908.win32-py2.6.exe&can=2&q= to sprawdź wersję Pythona i zakończ konfigurację – Shashi

+2

Są tam snapshoty dla 2.7 http://build.damoxc.net/downloads/pymssql/snapshots/ ... jeśli to pomaga. – rplnt

Odpowiedz

52

Można również użyć pyodbc podłączyć do MSSQL od Pythona.

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 biblioteka (wymienione w innej odpowiedzi), wykorzystuje pyodbc do połączenia z bazami danych MSSQL (próbuje różnych bibliotek, ale pyodbc jest preferowanym jeden). Przykład kodu przy użyciu 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

Install pyodbc użyciu pip następująco: pip 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 

Szczegółowe informacje

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

+0

Ta instalacja nie wydaje się już do pracy (Ubuntu 16.04, Python 2.7.): '- kompilacja nie powiodła się z kodem błędu 1 w ...' –

+2

@ MichaelMügge - 'pip install pyodbc' działa dobrze na Ubuntu 16.04, jeśli najpierw zrobisz" sudo apt install unixodbc-dev ". –

+0

@GordThompson, Rzeczywiście. Ważne szczegóły. Dzięki. –

17

Jeśli idziesz w poprzek tej kwestii poprzez wyszukiwanie w sieci zwróć uwagę, że obecnie pymssqlma obsługuje Python 2.7 (i 3.3) lub nowszy. Nie trzeba korzystać z ODBC.

Od wymogów pymssql:

Python 2.x: 2.6 lub nowszy. Python 3.x: 3.3 lub nowszy.

Zobacz http://pymssql.org/.