python使用pymssql连接中文数据库

import pymssql,sys

class MSSQL(object):
    def __init__(self,host,user,pwd,db):
        self.host = host
        self.user = user
        self.pwd = pwd
        self.db =db
        
    def _GetConnect(self):
        if not self.db:
            raise(NameError,'Wrong settings for database')
        self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,charset="utf8")
        cur = self.conn.cursor()
        if not cur:
            raise(NameError,'Failed to connect')
        else:
            #此处来连接中文数据库
            cur.execute(u'use '+self.db)
            return cur

    def ExecQuery(self,sql):
        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()

def main():
    host = 'localhost'
    user = 'sa'
    pwd = '123456'
    db = u'实验数据库'
    reload(sys)
    sys.setdefaultencoding('utf-8')
    ms = MSSQL(host,user,pwd,db)
    sql = u'select * from D_风险数据'
    resList = ms.ExecQuery(sql)
    for(id,fxsj,_,_) in resList:
        print id,fxsj
        
if __name__=='__main__':
    main()


你可能感兴趣的:(python使用pymssql连接中文数据库)