利用python读取mssql的image字段并显示

# create grid(JP)grid input data, just like MNIST input data
import io
import pymssql
import matplotlib.pyplot as plot
import numpy as np
from PIL import Image

class MSSQL:
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,"没有设置数据库信息")
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:
print("Dataset linked")
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()



ms = MSSQL(host="10.*.*.*:*",user="***",pwd="****",db="*****")
print("ok")
reslist = ms.ExecQuery("select top 1 * from star_img order by sdt,name")
img_file = io.BytesIO(reslist[0][?]) #对应image的数据项序号
img = Image.open(img_file)
plot.figure()
plot.imshow(img,cmap="gray_r")
plot.show()



posted @ 2017-03-01 14:57  扬州老俞  阅读(1183)  评论(2编辑  收藏  举报