• python pyodbc mssql


     参考:https://cloud.tencent.com/developer/article/1849526

      

    import pyodbc
    import datetime
    
    class sqlDb:
    
    
        def __init__(self, server='111.21.4.21', database='dbname', userid='sa', password='123456'):
            ''''' initialization
            '''
            self.server = server
            self.database = database
            self.userid = userid
            self.password = password
    
        def __GetConnect(self):
            ''''' Connect to the DB '''
            if not self.database:
                raise (NameError, "no setting db info")
            # engine = create_engine("mssql+pyodbc://{}:{}@{}:{}/{}?driver= ".format(self.userid, self.password, self.server, '1433',
            #                                                     self.database, 'ODBC Driver 18 for SQL Server'))
            #engine = create_engine('mssql+pymssql://scott:tiger@hostname:port/dbname')
            # engine = create_engine("mssql+pyodbc://{}:{}@{}:{}/{}?driver= ".format(self.userid, self.password, self.server, '1433',
            #                                                     self.database, 'ODBC Driver 18 for SQL Server'))
            # self.conn = engine.connect()
            self.conn = pyodbc.connect(DRIVER='{ODBC Driver 17 for SQL Server}', SERVER=self.server, DATABASE=self.database,UID=self.userid,PWD=self.password, charset="UTF-8")
            # self.conn = pyodbc.connect(DRIVER='{SQL Server Native Client 10.0}', SERVER=self.server, DATABASE=self.database,UID=self.userid,PWD=self.password, charset="UTF-8")
            # self.conn = "DRIVER={SQL Server Native Client 10.0};SERVER=%s;DATABASE=%s;UID=%s;PWD=%s" % (self.server,self.database,self.userid,self.password)
            cur = self.conn.cursor()
            if not cur:
                raise (NameError, "connected failed!")
            else:
                return cur
    
        def ExecQuery(self, sql):
            ''''' Perform one Sql statement '''
            try:
                cur = self.__GetConnect()
                cur.execute(sql)
                ret = cur.fetchall()
                cur.close()
                self.conn.close()
                return ret
            except Exception as ex:
                self.conn.close
                return None
    
    
        def ExecNoQuery(self, sql):
            ''''' Person one Sql statement like write data, or create table, database and so on'''
            try:
                cur = self.__GetConnect()
                cur.execute(sql)
                self.conn.commit()
                cur.close()
            except Exception as ex:
                self.conn.close()
    
    
        def GetSingleData(self,sql):
            try:
                cur = self.__GetConnect()
                cur.execute(sql)
                ret = cur.fetchall()
                cur.close()
                self.conn.close()
                return ret[0][0]
            except Exception as ex:
                self.conn.close()
                return None
    
        def CloseConn(self):
            self.conn.close()
  • 相关阅读:
    [题解] LuoguP6185 [NOI Online 提高组]冒泡排序
    [题解] LuoguP5339 [TJOI2019]唱、跳、rap和篮球
    [题解] LuoguP4168 [Violet]蒲公英
    [题解] LuoguP4705玩游戏
    [题解 LuoguP4491 [HAOI2018]染色
    [题解] LuoguP3768 简单的数学题
    杜教筛
    莫比乌斯反演学习笔记
    [题解] LuoguP2257 YY的GCD
    [题解] LuoguP2764 最小路径覆盖问题
  • 原文地址:https://www.cnblogs.com/shaosks/p/15993640.html
Copyright © 2020-2023  润新知