41

是否有可用于连接 MSSQL 和 python 2.7 的模块?

我下载了 pymssql,但它适用于 python 2.6。python 2.7是否有任何等效模块?

我不知道是否有人可以提供链接。


重要提示:同时有一个 pymssql 模块可用。不要错过阅读本页末尾的答案:https ://stackoverflow.com/a/25749269/362951

4

4 回答 4

58

您还可以使用pyodbc从 Python 连接到 MSSQL。

文档中的一个示例

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:pass@localhost/testdb")
for row in engine.execute("select user_id, user_name from users"):
    print row.user_id, row.user_name
于 2011-09-06T09:24:22.190 回答
17

如果您通过网络搜索遇到这个问题,请注意pymssql现在确实支持 Python 2.7(和 3.3)或更新版本。无需使用 ODBC。

pymssql要求:

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

请参阅http://pymssql.org/

于 2014-09-09T16:03:42.120 回答
5

使用 pip安装pyodbc如下: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

于 2013-06-09T07:32:57.903 回答
3

您可以尝试 SQLAlchemy:SQLAlchemy 对象关系映射器提供了一种将用户定义的 Python 类与数据库表相关联的方法,以及将这些类(对象)的实例与其对应表中的行相关联的方法。

您可以参考以下链接: 1> http://www.sqlalchemy.org/docs/ 2> http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html

于 2011-09-06T08:57:20.710 回答