MSSQL dengan python 2.7

Apakah ada modul yang tersedia untuk koneksi MSSQL dan python 2.7?

Saya mengunduh pymssql tetapi untuk python 2.6. Apakah ada modul yang setara untuk python 2.7?

Saya tidak menyadarinya jika ada yang bisa memberikan tautan.


Catatan penting: sementara ini modul pymssql tersedia. Jangan lewatkan untuk membaca jawabannya di akhir halaman ini: https://stackoverflow.com/a/25749269/362951


person Shashi    schedule 06.09.2011    source sumber
comment
Bukankah 2.7 kompatibel dengan 2.6? yaitu bukankah modul itu berfungsi di 2.6?   -  person rplnt    schedule 06.09.2011
comment
Tidak saat memasang code.google.com/p/pymssql/downloads/ periksa versi python dan akhiri penyiapan   -  person Shashi    schedule 06.09.2011
comment
Ada snapshot untuk 2.7 build.damoxc.net/downloads/pymssql/snapshots . ..jika itu membantu.   -  person rplnt    schedule 06.09.2011
comment
Terima kasih @rplnt telah berbagi tautan. Berhasil.   -  person Shashi    schedule 06.09.2011
comment
Saya menemukan satu repositori python pakg semoga bermanfaat untuk semua lfd.uci.edu/~ gohlke/pythonlibs   -  person Shashi    schedule 20.12.2012


Jawaban (4)


Anda juga dapat menggunakan pyodbc untuk terhubung ke MSSQL dari Python.

Sebuah contoh dari dokumentasi:

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

Pustaka SQLAlchemy (disebutkan dalam jawaban lain), menggunakan pyodbc untuk terhubung ke database MSSQL (mencoba berbagai perpustakaan, tetapi pyodbc adalah yang disukai). Contoh kode menggunakan sqlalchemy:

from sqlalchemy import create_engine
engine = create_engine("mssql://me:pass@localhost/testdb")
for row in engine.execute("select user_id, user_name from users"):
    print row.user_id, row.user_name
person codeape    schedule 06.09.2011

Jika Anda menemukan pertanyaan ini melalui penelusuran web, perhatikan bahwa pymssql saat ini tidak mendukung Python 2.7 (dan 3.3) atau yang lebih baru. Tidak perlu menggunakan ODBC.

Dari persyaratan pymssql:

Python 2.x: 2.6 atau lebih baru. Python 3.x: 3.3 atau lebih baru.

Lihat http://pymssql.org/.

person SaeX    schedule 09.09.2014
comment
Dari halaman driver MSFT python MSSQL ( docs.microsoft.com/en-us/sql/connect/python/ ) Ada beberapa driver python SQL yang tersedia. Namun, Microsoft menempatkan upaya pengujian dan kepercayaannya pada driver pyodbc. Saya ragu hal ini terjadi pada tahun 2014 :) - person riffrazor; 24.10.2018

Instal pyodbc menggunakan pip sebagai berikut: 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

Untuk detailnya, lihat

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

person akila    schedule 09.06.2013
comment
Pemasangan pip ini sepertinya tidak lagi berfungsi (Ubuntu 16.04, Python 2.7.): --compile failed with error code 1 in ... - person StartupGuy; 25.03.2017
comment
@MichaelMügge - pip install pyodbc berfungsi dengan baik di Ubuntu 16.04 jika Anda melakukan sudo apt install unixodbc-dev terlebih dahulu. - person Gord Thompson; 26.03.2017
comment
@GordThompson, Memang. Detail penting di sana. Terima kasih. - person StartupGuy; 26.03.2017

Anda dapat mencoba SQLAlchemy: SQLAlchemy Object Relational Mapper menyajikan metode mengaitkan kelas Python yang ditentukan pengguna dengan tabel database, dan instance kelas (objek) tersebut dengan baris di tabel terkait.

Anda dapat merujuk tautan berikut: 1> http://www.sqlalchemy.org/docs/ 2> http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html

person avasal    schedule 06.09.2011