MSSQL ในหลาม 2.7

มีโมดูลสำหรับเชื่อมต่อ MSSQL และ python 2.7 หรือไม่?

ฉันดาวน์โหลด pymssql แต่สำหรับ python 2.6 มีโมดูลที่เทียบเท่าสำหรับ python 2.7 หรือไม่?

ไม่ทราบว่ามีใครพอจะให้ลิงค์ได้มั้ยคะ


หมายเหตุสำคัญ: ในระหว่างนี้จะมีโมดูล pymssql ให้ใช้งาน อย่าพลาดอ่านคำตอบท้ายหน้านี้: https://stackoverflow.com/a/25749269/362951


person Shashi    schedule 06.09.2011    source แหล่งที่มา
comment
2.7 ย้อนหลังเข้ากันได้กับ 2.6 ไม่ใช่หรือ นั่นคือโมดูลนั้นใช้งานไม่ได้ใน 2.6 ใช่หรือไม่   -  person rplnt    schedule 06.09.2011
comment
ไม่ขณะติดตั้ง code.google.com/p/pymssql/downloads/ จะตรวจสอบเวอร์ชันของ python และสิ้นสุดการตั้งค่า   -  person Shashi    schedule 06.09.2011
comment
มีสแน็ปช็อตสำหรับ 2.7 build.damoxc.net/downloads/pymssql/snapshots ..ถ้ามันช่วยได้   -  person rplnt    schedule 06.09.2011
comment
ขอบคุณ @rplnt สำหรับการแชร์ลิงก์ มันใช้งานได้   -  person Shashi    schedule 06.09.2011
comment
ฉันพบที่เก็บ python pakg หนึ่งแห่ง หวังว่ามันจะมีประโยชน์สำหรับ lfd.uci.edu/~ ทั้งหมด gohlke/pythonlibs   -  person Shashi    schedule 20.12.2012


คำตอบ (4)


คุณยังใช้ pyodbc เพื่อเชื่อมต่อกับ MSSQL จาก Python ได้ด้วย

ตัวอย่างจากเอกสารประกอบ:

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

ไลบรารี SQLAAlchemy (กล่าวถึงในคำตอบอื่น) ใช้ pyodbc เพื่อเชื่อมต่อกับฐานข้อมูล MSSQL (ลองใช้ไลบรารีต่างๆ แต่ pyodbc เป็นอันที่ต้องการ) ตัวอย่างโค้ดที่ใช้ 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

หากคุณพบคำถามนี้จากการค้นหาเว็บ โปรดทราบว่า pymssql ในปัจจุบัน ไม่ รองรับ Python 2.7 (และ 3.3) หรือใหม่กว่า ไม่จำเป็นต้องใช้ ODBC

จากข้อกำหนด pymssql:

Python 2.x: 2.6 หรือใหม่กว่า Python 3.x: 3.3 หรือใหม่กว่า

ดู http://pymssql.org/

person SaeX    schedule 09.09.2014
comment
จากหน้าไดรเวอร์ MSFT python MSSQL ( docs.microsoft.com/en-us/sql/connect/python/ ) มีไดรเวอร์ Python SQL หลายตัวให้เลือก อย่างไรก็ตาม Microsoft ให้ความสำคัญกับการทดสอบและความมั่นใจในไดรเวอร์ pyodbc ฉันสงสัยว่านี่เป็นกรณีในปี 2014 แม้ว่า :) - person riffrazor; 24.10.2018

ติดตั้ง pyodbc โดยใช้ pip ดังนี้: 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

สำหรับรายละเอียด โปรดดู

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

person akila    schedule 09.06.2013
comment
ดูเหมือนว่าการติดตั้ง pip นี้จะไม่ทำงานอีกต่อไป (Ubuntu 16.04, Python 2.7.): --compile failed with error code 1 in ... - person StartupGuy; 25.03.2017
comment
@ MichaelMügge - pip install pyodbc ทำงานได้ดีบน Ubuntu 16.04 ถ้าคุณทำ sudo apt install unixodbc-dev ก่อน - person Gord Thompson; 26.03.2017
comment
@GordThompson แน่นอน รายละเอียดที่สำคัญนั่น ขอบคุณ. - person StartupGuy; 26.03.2017

คุณสามารถลองใช้ SQLAlchemy ได้: SQLAlchemy Object Relational Mapper นำเสนอวิธีการเชื่อมโยงคลาส Python ที่ผู้ใช้กำหนดกับตารางฐานข้อมูล และอินสแตนซ์ของคลาส (อ็อบเจ็กต์) เหล่านั้นกับแถวในตารางที่เกี่ยวข้อง

คุณสามารถดูลิงก์ต่อไปนี้: 1> http://www.sqlalchemy.org/docs/ 2> http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html

person avasal    schedule 06.09.2011