• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    教你怎么用python连接sql server

    先利用pip安装pymssql库

    pip install pymssql

    具体连接、测试代码:

    # server默认为127.0.0.1,如果打开了TCP动态端口的需要加上端口号,如'127.0.0.1:1433'
    # user默认为sa
    # password为自己设置的密码
    # database为数据库名字
    server = '127.0.0.1'
    user = "sa"
    password = "123456"
    database = "pubs"
    conn = pymssql.connect(server, user, password, database)
    # 可简化为conn = pymssql.connect(host='localhost', user='sa', password='123456', database='pubs')
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM titles')
    print( cursor.fetchall() ) 
    
    # 如果用pandas读取数据库
    import pymssql
    import pandas as pd
    conn = pymssql.connect('IP地址','账号','密码','数据库')
    sql_1 = "SELECT Id,creat_time from 表名"
    #利用pandas直接获取数据"
    data = pd.read_sql(sql_1, conn)
    conn.close()
    print(data)
    

    封装好的版本:

    #coding=utf-8 
    # sqlserver的连接
    import pymssql
    
    class MSSQL:
        def __init__(self,host,user,pwd,db):
            self.host = host
            self.user = user
            self.pwd = pwd
            self.db = db
    
        def __GetConnect(self):
            """
            得到连接信息
            返回: conn.cursor()
            """
            if not self.db:
                raise(NameError,"没有设置数据库信息")
            self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
            cur = self.conn.cursor()
            if not cur:
                raise(NameError,"连接数据库失败")
            else:
                return cur
    
        def ExecQuery(self,sql):
            """
            执行查询语句
            返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段
    
            """
            cur = self.__GetConnect()
            cur.execute(sql)
            resList = cur.fetchall()
    
            #查询完毕后必须关闭连接
            self.conn.close()
            return resList
    
        def ExecNonQuery(self,sql):
            """
            执行非查询语句
    
            调用示例:
                cur = self.__GetConnect()
                cur.execute(sql)
                self.conn.commit()
                self.conn.close()
            """
            cur = self.__GetConnect()
            cur.execute(sql)
            self.conn.commit()
            self.conn.close()
    
    def main():
    	# host默认为127.0.0.1,如果打开了TCP动态端口的需要加上端口号,如'127.0.0.1:1433'
        # user默认为sa
        # pwd为自己设置的密码
        # db为数据库名字
        ms = MSSQL(host='127.0.0.1',user="sa",pwd="123456",db="pubs")
        resList = ms.ExecQuery("SELECT * FROM titles")
        print(resList)
    
    if __name__ == '__main__':
        main()
    

    如果出现pymssql.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (SZS\SQLEXPRESS)\n')类似保错,有以下几个可能的原因:

    1.数据库名字写错

    2.tcp/ip协议未开启,这个位于(右键此电脑,点击管理,点击服务与应用程序,点击sql配置管理器,点击sql server网络配置,点击mssqlserver的协议,右键tcp/ip,点击启用,重启电脑后才会生效)

    3.动态端口错误,默认是没有打开动态端口的,如果打开了就需要写端口号,在2中的tcp/ip协议中查看动态端口号,点击tcp/ip协议,点击ip地址,然后翻到最下面,找到ipall 里面的动态端口号,也可以将动态端口号删掉,然后不写

    4.sa用户登录未启用

    打开sql server management studio,点击安全性,点击登录名,如果sa项出现红色的×则说明sa用户登录未启用,右键sa点击属性,点击状态即可启用。

    到此这篇关于教你怎么用python连接sql server的文章就介绍到这了,更多相关python连接sql server内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
    • 解决sql server 数据库,sa用户被锁定的问题
    • IDEA连接MySQL提示serverTimezone的问题及解决方法
    • SQL Server 2014 数据库中文版安装图文教程
    • SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
    上一篇:OpenCV实现相机校正
    下一篇:Python生成字符视频的实现示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    教你怎么用python连接sql server 教你,怎么,用,python,连接,