欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python連接sql server亂碼的解決方法

 更新時間:2013年01月28日 12:40:20   作者:  
為解決python連接sql server是出現(xiàn)的亂碼,需要在連接sql server 時指定字符集utf8(client charset = UTF-8),python環(huán)境制定了字符集變量(#coding=utf-8 )

vi /etc/freetds/freetds.conf

復制代碼 代碼如下:

[global]
# TDS protocol version
tds version = 8.0
client charset = UTF-8
# A typical Microsoft server
[Server55]
host = 192.168.1.55
port = 1433
tds version = 8.0
vi /etc/odbc.ini
[DSN55]
Description=my dsn
Driver=TDS
Database=qq99
Servername=Server55

tsql -S Server55 -U qq -P 123456 -D qq99
復制代碼 代碼如下:

#coding=utf-8
#!/usr/bin/python
import pyodbc
cnxn = pyodbc.connect("DSN=DSN55;UID=qq;PWD=123456")
cursor = cnxn.cursor()
cursor.execute('select * from orders where username=?','qq')
a=cursor.fetchall()
print 'pyodbc',a

關(guān)閉連接:
復制代碼 代碼如下:

csr.close()
del csr
conn.close()

python 使用pymssql連接sql server數(shù)據(jù)庫

復制代碼 代碼如下:

#coding=utf-8
#!/usr/bin/env python
#-------------------------------------------------------------------------------
# Name: pymssqlTest.py
# Purpose: 測試 pymssql庫,該庫到這里下載:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
#
# Author: scott
#
# Created: 04/02/2012
#-------------------------------------------------------------------------------

import pymssql


class MSSQL:
    """
    對pymssql的簡單封裝
    pymssql庫,該庫到這里下載:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
    使用該庫時,需要在Sql Server Configuration Manager里面將TCP/IP協(xié)議開啟

    用法:

    """

    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,"沒有設(shè)置數(shù)據(jù)庫信息")
        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,"連接數(shù)據(jù)庫失敗")
        else:
            return cur

    def ExecQuery(self,sql):
        """
        執(zhí)行查詢語句
        返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段

        調(diào)用示例:
                ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
                resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser")
                for (id,NickName) in resList:
                    print str(id),NickName
        """
        cur = self.__GetConnect()
        cur.execute(sql)
        resList = cur.fetchall()

        #查詢完畢后必須關(guān)閉連接
        self.conn.close()
        return resList

    def ExecNonQuery(self,sql):
        """
        執(zhí)行非查詢語句

        調(diào)用示例:
            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():
## ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
## #返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段
## ms.ExecNonQuery("insert into WeiBoUser values('2','3')")

    ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
    resList = ms.ExecQuery("SELECT id,weibocontent FROM WeiBo")
    for (id,weibocontent) in resList:
        print str(weibocontent).decode("utf8")

if __name__ == '__main__':
    main()

注意事項:
    使用pymssql進行中文操作時候可能會出現(xiàn)中文亂碼,我解決的方案是:
文件頭加上 #coding=utf8
sql語句中有中文的時候進行encode
   insertSql = "insert into WeiBo([UserId],[WeiBoContent],[PublishDate]) values(1,'測試','2012/2/1')".encode("utf8")
 連接的時候加入charset設(shè)置信息
    pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")

相關(guān)文章

  • python分分鐘繪制精美地圖海報

    python分分鐘繪制精美地圖海報

    基于Python中諸如matplotlib等功能豐富、自由度極高的繪圖庫,我們可以完成各種極富藝術(shù)感的可視化作品,關(guān)于這一點我在系列文章在模仿中精進數(shù)據(jù)可視化中已經(jīng)帶大家學習過很多案例了
    2022-02-02
  • python numpy中對ndarry按照index增刪改查

    python numpy中對ndarry按照index增刪改查

    這篇文章主要介紹了python numpy中對ndarry按照index增刪改查,在numpy中的ndarry是一個數(shù)組,因此index就是位置下標,注意下標是從0開始,接下來一起進入下面文章了解詳細內(nèi)容吧
    2022-02-02
  • Python-Seaborn熱圖繪制的實現(xiàn)方法

    Python-Seaborn熱圖繪制的實現(xiàn)方法

    這篇文章主要介紹了Python-Seaborn熱圖繪制的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • PyQt5每天必學之滑塊控件QSlider

    PyQt5每天必學之滑塊控件QSlider

    這篇文章主要為大家詳細介紹了PyQt5每天必學之滑塊控件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 在Keras中利用np.random.shuffle()打亂數(shù)據(jù)集實例

    在Keras中利用np.random.shuffle()打亂數(shù)據(jù)集實例

    這篇文章主要介紹了在Keras中利用np.random.shuffle()打亂數(shù)據(jù)集實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python中解析json格式文件的方法示例

    python中解析json格式文件的方法示例

    這篇文章主要給大家介紹了python中解析json格式文件的相關(guān)資料,解析json文件就是編碼和解碼,本文還介紹了在解析中可能遇到的問題與解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • python生成1行四列全2矩陣的方法

    python生成1行四列全2矩陣的方法

    今天小編就為大家分享一篇python生成1行四列全2矩陣的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Python下使用Trackbar實現(xiàn)繪圖板

    Python下使用Trackbar實現(xiàn)繪圖板

    這篇文章主要為大家詳細介紹了Python下使用Trackbar實現(xiàn)繪圖板,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • 解決PyCharm不在run輸出運行結(jié)果而不是再Console里輸出的問題

    解決PyCharm不在run輸出運行結(jié)果而不是再Console里輸出的問題

    這篇文章主要介紹了解決PyCharm不在run輸出運行結(jié)果而不是再Console里輸出的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 關(guān)于PyTorch中nn.Module類的簡介

    關(guān)于PyTorch中nn.Module類的簡介

    這篇文章主要介紹了關(guān)于PyTorch中nn.Module類的簡介,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論