python使用pymssql连接中文数据库
python使用pymssql连接中文数据库
化石果 发表于4年前
python使用pymssql连接中文数据库
  • 发表于 4年前
  • 阅读 271
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

摘要: pymssql是不支持Unicode进行连接的,也就是不支持中文(当然还包括日文、韩文等),但是可以通过其他方法使用中文数据库
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()


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 4
码字总数 925
×
化石果
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: