Python连接SQL Server数据库
一、安装环境
服务器:Windows Server 2016
Python版本:Python 3.8.5
服务器本地安装有SQL Server 2008 R2
PYMSSQL版本:2.1.5
二、在python中安装pymssql
D:\Python\Python38>pip install pymssql
Collecting pymssql
Downloading pymssql-2.1.5-cp38-cp38-win_amd64.whl (423 kB)
|████████████████████████████████| 423 kB 547 kB/s
Installing collected packages: pymssql
Successfully installed pymssql-2.1.5
三、用py程序测试连接
编写以下testMSSQL.py代码进行测试:
import pymssql
conn = pymssql.connect('(local)', 'sa', '123456', 'dbname') #建立连接
if conn:
print("连接成功!")
cursor = conn.cursor()
cursor.execute("select * from t_User")
for row in cursor:
print("UID=%d, ID=%s, Name=%s" % (row[0], row[1], row[2]))
cursor.close()
conn.close()
四、可能遇到的问题
由于pymssql的版本升级,可能导致连接发生错误,报错如下:
File "src\\pymssql\\_pymssql.pyx", line 653, in pymssql._pymssql.connect pymssql._pymssql.OperationalError: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (localhost)\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (localhost)\n')
首先编写一个py文件查询当前安装的pymssql版本:
import pymssql print(pymssql.__version__)
运行后显示版本信息为:2.2.11
参考在笔记编写时,安装的pymssql版本为2.1.5,因此做降版本处理:
# 卸载2.2.11版
>pip uninstall pymssql
Found existing installation: pymssql 2.2.11
Uninstalling pymssql-2.2.11:
Would remove:
d:\python\python38\lib\site-packages\pymssql-2.2.11.dist-info\*
d:\python\python38\lib\site-packages\pymssql\*
Proceed (Y/n)? y
Successfully uninstalled pymssql-2.2.11
# 安装2.1.5版
>pip install pymssql==2.1.5
WARNING: Ignoring invalid distribution -ip (d:\python\python38\lib\site-packages)
Collecting pymssql==2.1.5
Downloading pymssql-2.1.5-cp38-cp38-win_amd64.whl (423 kB)
---------------------------------------- 423.4/423.4 kB 38.3 kB/s eta 0:00:00
WARNING: Ignoring invalid distribution -ip (d:\python\python38\lib\site-packages)
Installing collected packages: pymssql
Successfully installed pymssql-2.1.5
再次运行测试文件,连接成功。

浙公网安备 33010602011771号