Python连接数据库需要导入(SqlServer):
import pymssql #sqlserver
import pymysql #mysql
#或者其他的
#以下按sqlserver写
try:
#连接数据库
connect = pymssql.connect(DBServer, DBUser, DBPwd, DBTable) #服务器名,账户,密码,数据库名
#创建游标
cursor = connect.cursor() #python里的sql语句通过cursor执行
cursor.execute(sql) #执行sql语句
connect.commit() #提交sql
cursor.close() #关闭游标
connect.close() #断开连接
except Exception as r:
print('DBError:%s' %r)
#有返回值的情况
row = cursor.fetchone() #读取查询结果,
while row:
print(row) #输出结果
row = cursor.fetchone()
连接数据库时报错
DB-Lib error message 20018, severity 14:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (192.168.2.205)\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed
-
反复确认服务器名称,账户名称,密码,数据库名称(注意不是表名)是否正确。
-
编码错误
可以下载freetds来连接数据库查看连接信息。如果freetds不能连上,说明时数据库没有配置好(防火墙,权限等等之类的,反正不是pymssql的问题)
如果能连接上,看看默认的编码,然后尝试在connect中添加charset=“CP396”参数,(CP396是本机的默认编码)
具体freetds操作:FreeTDS — pymssql 2.1.4 documentation