使用 Python 连接 SQL Server 2008 主要有两种方式,一种是使用 pyodbc,另一种是使用 pymssql,微软官方示例和推荐都是使用 ODBC 的方式,即使用 pyodbc。本文记录 Python 使用 pyodbc 连接 SQL Server 2008 的简单过程。
1. 安装 pyodbc
使用 pip 命令安装 pyodbc:
pip install pyodbc
2. 安装微软 ODBC 驱动
如果是连接本机的数据库,这一步可以省略,因为对应数据库软件版本的 ODBC 驱动一般会随数据库软件一并安装。
如果本机没有安装数据库软件,而是需要连接远程的数据库,则需要安装 ODBC 驱动。点击此处 前往下载安装 ODBC 驱动。一般来说,安装最新版,最新版向下兼容可以连接其他版本数据库软件。
3. 连接数据库示例
以下简单代码为连接本地 SQL Server 2008 数据库获取数据示例:
import pyodbc
server = '.'
database = 'dbname'
username = 'sa'
password = 'sa'
cnxn = pyodbc.connect('DRIVER={SQL Server Native Client 10.0};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("SELECT top 10 * from table")
rows = cursor.fetchall()
for row in rows:
print(row)
需要注意的是,如果使用不同版本的 ODBC 驱动,DRIVER={SQL Server Native Client 10.0} 中的字符串对应关系和其支持的数据库版本如下:
- {SQL Server} - released with SQL Server 2000
- {SQL Native Client} - released with SQL Server 2005 (also known as version 9.0)
- {SQL Server Native Client 10.0} - released with SQL Server 2008
- {SQL Server Native Client 11.0} - released with SQL Server 2012
- {ODBC Driver 11 for SQL Server} - supports SQL Server 2005 through 2014
- {ODBC Driver 13 for SQL Server} - supports SQL Server 2005 through 2016
- {ODBC Driver 13.1 for SQL Server} - supports SQL Server 2008 through 2016
- {ODBC Driver 17 for SQL Server} - supports SQL Server 2008 through 2019
4. 一个封装好的 pyodbc 类
待续…