通过pypyodbc使用SQL server
通过pypyodbc使用SQL server
不像pyodbc需要C, pypyodbc是纯python的实现, 安装起来非常方便.
创建连接:
#在操作系统上先配odbc, 然后在代码中指定odbc的dsn, 注意即使odbc中配置了密码, 代码还是需要设密码.
conn = pypyodbc.connect('''DSN=your_dsn;UID=sa;PWD=your_password;''')
#在操作系统上不配odbc, 在代码中指定Driver和db
conn = pypyodbc.connect('''DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;UID=sa;PWD=pass''')
conn = pypyodbc.connect('''DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;Trusted_Connection=yes''')
普通的SQL执行, 不用讲了, 基于DB API都差不多. 但有两类SQL, 需要特别注意.
第1类是: backup 等命令. 在cursor.execute()后, 还必须要循环完 cursor.nextset()的记录集, 备份才生效.
第2类是: ALTER FULLTEXT INDEX ... START FULL POPULATION等命令. 这类SQL的特点是: 下SQL之后, SQL server会启动一个执行进程,然后立即将控制权送回. pyodbc执行这样的语句, 会直接报错. google了很久, 没有解决方法, 最后, 我只能绕过: 即采用python调用sqlcmd命令行工具来执行这些操作.
参考文章
http://ryepup.unwashedmeme.com/blog/2010/08/26/making-sql-server-backups-using-python-and-pyodbc/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律