论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Postrge-SQL技术社区
›
python连接本地SQL server
python连接本地SQL server
嚴華
论坛元老
|
2025-4-16 05:22:07
|
显示全部楼层
|
阅读模式
楼主
主题
1724
|
帖子
1724
|
积分
5172
python连接本地SQL server
一.设置本地账号
1.新建用户
在对象资源管理其中,选中 安全性/登录名 右键新建登录名
在弹出的对话框中,设置登录名为“sa”(sa是最高权限用户名,也可以自界说,但不推荐),选择“SQL Server身份验证”,设置密码,在“默认数据库”中选择我们须要建立接洽的目标数据库,“默认语言”为简体中文。
最后在“状态”选项卡下选择“启用”并确保“允许连接”复选框被选中。
2.开启双重验证
在资源对象管理器中,右键单击SQL Server实例名称并选择“属性”。
在弹出的对话框中,选择“安全性”选项卡,将“身份验证”设置为“SQL Server和Windows身份验证模式”,并选择“确定”以生存更改。
3,开启TCP/IP本地服务
在SQL Server Configuration Manager中,右键“SQL Server网络配置”,选择“TCP/IP”协议,点击“启用”。
选择TCP/IP属性,选择IP,将“TCP动态端口”设置为0
然后找到“IPALL”选项,将“TCP端口”设置为1433(或其他的端口号)。
生存更改并重启SQL Server服务。
完成以上步骤后,即可使用Python连接本地SQL Server数据库。
二.python连接实例
注意,下文是本地连接用法,也就是只能连接本机服务器的数据库,想要连接外地服务器请参考别的文章。
以 Pycharm为例
1.下载支持库
有用pymssql的方法,但是我没成功,于是换了另一个用pyodbc的方法
进入Anaconda Prompt,进入已有情况,输入一下命令下载支持库(这里命令末端添加了阿里云镜像源,能下载的快一点)
pip install pyodbc -i https://mirrors.aliyun.com/pypi/simple/
复制代码
2.验证连接
创建一个 .py文件,编辑以下代码验证能否建立连接:
import pyodbc
server = 'localhost' # 这里就写localhost就可以了
user = '之前创建的用户名'
password = '给对应账户设置的密码'
database = '想要建立连接的数据库名'
try:
conn_str = f'DRIVER={{SQL Server}};SERVER={server};DATABASE={database};UID={user};PWD={password};TrustServerCertificate=yes'
connect = pyodbc.connect(conn_str)
print("连接成功")
except pyodbc.Error as e:
print(f"连接失败: {e}")
复制代码
3.可能失败缘故原由
须要注意的是,如果没有创建sa账户的话,这里应该要先给对应数据库开起用户权限
在对象资源管理器中,右键对应数据库,点击属性,点击文件,点击如图红框
点击浏览,选中须要基于权限的用户,但是好像只能选择一个
如图,我选择了sd用户,点击确定,再点击确定就可以了。
最后显示连接成功:
三.基本查询语法使用
import pyodbc
server = 'localhost' # 这里就写localhost就可以了
user = '之前创建的用户名'
password = '给对应账户设置的密码'
database = '想要建立连接的数据库名'
conn_str = f'DRIVER={{SQL Server}};SERVER={server};DATABASE={database};UID={user};PWD={password};TrustServerCertificate=yes'
connect = pyodbc.connect(conn_str)
print("连接成功")
# 创建游标对象
cursor = connect.cursor()
# 执行查询语句,这里查询作者数据库里的图书表
query = "SELECT * FROM 图书"
cursor.execute(query)
# 获取查询结果
rows = cursor.fetchall()
# 打印查询结果
if rows:
print("图书表的数据如下:")
for row in rows:
print(row)
# 关闭游标和连接
cursor.close()
connect.close()
复制代码
结果如下,没有乱码问题,不知道是不是引用库不一样的缘故原由,pymssql库看很多博主讲是有代码的,反正不管,能成功就行。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
嚴華
论坛元老
这个人很懒什么都没写!
楼主热帖
iOS全埋点解决方案-用户标识 ...
用uniapp实现微信小程序的电子签名效果 ...
【万能皆可链接】C++中的动态链接库编 ...
【云服务器】推荐阿贝云服务器,目前永 ...
【Selenium+Pytest+allure报告生成自动 ...
MySQL实战45讲 20
【Javaweb】Web工作原理、两种网页、两 ...
Spring Boot 配置文件
Qt-FFmpeg开发-打开本地摄像头(6) ...
微服务介绍
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
数据仓库与分析
程序人生
移动端开发
主机安全
开源技术
鸿蒙
图数据库
快速回复
返回顶部
返回列表