Python 连接Sql Server数据库 MSSql以及错误解决方法

Python 连接Sql Server数据库 MSSql以及错误解决方法

#Python 连接Sql Server数据库 MSSql,但是因为版本问题结果可能会有错
import pymssql
conn=pymssql.connect(host='localhost',user='sa',password='1721330046',database='jingzi')
'''
如果和本机数据库交互,只需修改链接字符串
conn=pymssql.connect(host='.',database='Michael')
'''
cur=conn.cursor()
cur.execute('select top 5 * from [dbo].[学生表]')
#如果update/delete/insert记得要conn.commit()
#否则数据库事务无法提交
print (cur.fetchall())
cur.close()
conn.close()

# 创建表
conn=pymssql.connect(host='localhost',user='sa',password='1721330046',database='jingzi')
cur=conn.cursor()
cur.execute("""
IF OBJECT_ID('weibo', 'U') IS NOT NULL
    DROP TABLE weibo
CREATE TABLE weibo (
    id VARCHAR(20) not null,
    time VARCHAR(20),
    transmit VARCHAR(20),
    comment VARCHAR(20),
    upvote VARCHAR(10),
    text VARCHAR(100)
)
""")
cur.close()
conn.close()

#更新数据表中数据:对数据表进行更新操作改变了表中的数据,所以需要向数据库提交操作db.commit(),以及操作出错时的回滚db.rollback()
def InsertData():
    sql = "INSERT INTO weibo(id,time,transmit,comment,upvote,text) VALUES (%s, %d,%s,%d,%t,%r)"
    data = [
        ('1000', '2020-02-02',15,1,0,'wu')]
    cur.executemany(sql, data)
    # 如果没有指定autocommit属性为True的话就需要调用commit()方法
    conn.commit()

一开始用pycharm连接 SQL server 数据库的时候怎么样也连接不上,还出现这样子的错误:
pymssql.OperationalError: (18456, b"\xe7\x94\xa8\xe6\x88\xb7 ‘sa’ \xe7\x99\xbb\xe5\xbd\x95\xe5\xa4\xb1\xe8\xb4\xa5\xe3\x80\x82DB-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 (adminstrator\SQLEXPRESS)\n")
在management studio 输入Sqlserver 的账户 sa 也不能登录,后来尝试把服务器属性中把服务器验证选为Sqlserver 和 windows身份验证模式就可以登录了。(有时候也可能是数据库那边没有登陆的原因)

你可能感兴趣的:(Python 连接Sql Server数据库 MSSql以及错误解决方法)