因为工作原因我要连接一台sql2005,刚开始我用pymssql一直连接不上,也不报错,找了好久资料也没办法解决,最后只能用pyodbc连接了。
# -*- coding: utf-8 -*- import pyodbc conn = pyodbc.connect("DRIVER={SQL SERVER};SERVER=IP;UID=用户名;PWD=密码;DATABASE=数据库名称") cur = conn.cursor() if cur: print('连接成功!') df = "select * from zdz.CAWSMinuteDATA_2021 " cur.execute(df) row = cur.fetchall() print(row) cur.close() conn.close()
可有个项目需要在linux中连接这台sql2005,身为半路出家的我按照网上的教程一步一步的搭建pyodbc,sqlserver需要的环境和连接工具(freetds和unixodbc),可整整搞了两三天一直在报错pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL SERVER' : file not found (0) (SQLDriverConnect)"),网上的教程基本都试过了,我重新搭了一台centos6.8服务器一步不落的写上去都不行,但我脚本是肯定正常的,最后只能放弃了。
我又去找pymssql的连接方法,经过不懈努力终于搞定了,看下之前的代码
conn = pymssql.connect('host=IP', 'user=用户名', 'password=密码', 'database=数据库名称', charset='cp936')
改正后的
conn = pymssql.connect(host='ip', user='用户名', password='密码', database='数据库名称',tds_version='7.0')
就只加个版本号可以了,让我搞了整整几天,百度了好久都没找到。。。真是学艺不精害死人!