因为工作关系,近期需要用python连接sqlserver处理一些数据问题。
由于笔记本上的软件是新安装的,所以有些配置避免不了重新设置,期间遇到一些小问题,记录一下。
下面正式开始
写一段代码,测试sqlserver数据库连接
import pymssql
# 写法1
# conn = pymssql.connect(host='localhost', server='DESKTOP-ABCDEFGH\SQLEXPRESS', port='1433', user='sa', password='******', database='myData')
#写法2:简化一下(本地连接,写法1、2都能够正常运行,看个人喜好) conn = pymssql.connect(server='DESKTOP-ABCDEFGH\SQLEXPRESS', user='sa', password='******', database='myData') if conn: print("成功") conn.close()
由于第一次使用pymssql,所以先下载包
在pycharm编辑器中,找到Terminal,输入命令行“pip install pymssql”
(venv) PS E:\python_workspace\MyDemo> pip install pymssql
Collecting pymssql Downloading pymssql-2.2.7-cp36-cp36m-win32.whl (1.3 MB) |████████████████████████████████| 1.3 MB 159 kB/s Installing collected packages: pymssql Successfully installed pymssql-2.2.7
接下来我们运行一下代码,看到报错信息
“pymssql._mssql.MSSQLDatabaseException: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (DESKTOP-ABCDEFG)\nDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (DESKTOP-ABCDEFG)\n')”
上网搜索了几篇博客,综合了一下,解决了问题。下面分享下解决步骤,有需要的童鞋可以参考一下
首先,打开SQL Server Configurtion Manager,进行TCP/IP设置。
如果小伙伴在sqlserver在安装的目录下,能够找到“SQL Server Configurtion Manager”图标的话,可以直接双击后,进行配置。(可参考:https://cloud.tencent.com/developer/article/1492657)
因为我的电脑安装目录下,没有找到“SQL Server Configurtion Manager”图标,所以我用了下面这个方法。(可参考:https://blog.51cto.com/BADAOLIUMANGQZ/6147420)
找到C:\Windows\SysWOW64这个文件夹的位置,在这个目录下检索“SQLServerManager”
双击“SQLServerManager10.msc”,就可以到达“SQL Server Configurtion Manager”设置界面
接下来,我们来进行TCP/IP的配置工作。(可参考:https://blog.csdn.net/qq_61122628/article/details/123611705)
设置TCP/IP为"Enabled"
右击TCP/IP,点击“属性”,选择“IP Addresses”,里面有很多个IP设置,找到“IP Address为127.0.0.1”的,将它的Enabled状态更改为“Yes”
接着拉到最下面,修改“IPALL”,将它的"TCP Port"修改为“1433”,点击确认。
打开计算机管理,重启“SQL Server”和“SQL Server Browser”服务。(如果服务为禁用,请先设置为手动,然后启动。)
接着,继续回到pycharm编辑器,运行代码,显示“成功”,接下来就可以根据实际工作需要,进行下一步工作啦。
E:\python_workspace\MyDemo\venv\Scripts\python.exe E:\python_workspace\MyDemo\mssql_pratices.py 成功 Process finished with exit code 0
此篇分享到此结束。
标签:Lib,python,IP,Server,SQL,pymssql,20009 From: https://www.cnblogs.com/lmei/p/17438075.html